ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JavaBean 登陆页面的简单写法(三种方法)

2021-06-06 10:02:08  阅读:190  来源: 互联网

标签:java name jsp 跳转 login 写法 JavaBean 页面


JavaBean 登陆页面的简单写法三种方法

第一种:如果成功直接在本页面输出

要求:

JavaBean的例子,先编写一个登录JavaBean,然后编写一个登录html页面(login.html),提交后的处理页面(login.jsp)应用该登录JavaBean获取表单的值,如果用户名和密码都正确(例如用户名等于QQ,密码等于123),页面跳转到成功页面,否则跳转到登录页面(login.html)。

1. 首先我们需要存储用户信息的User.java,由于这里我本身就没有写注册信息,其实是可以省略的

public class User {
private String name;
private String password;

public void setName(String name) {
this.name=name;
}
public String getName (){
return name;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
}

讲解:考虑到可能有没有java基础的同学,这里的setName其实就是给数据库传入name的值,然后我们需要读取这个数据,就需要get这个函数返回(return)值,这里的User.java其实就是定义了这两个函数

2. 登陆页面login.html

<html lang="en">
<head>
<meta charset="utf-8">
<title>登陆界面</title>
</head>
<body>
<div align="center">
<font size="10px" color="#00008b">用户登录</font>
<form action="login.jsp" method="get">
<table border="2">
<tr>
<th>用户名</th>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<th>密码</th>
<td><input type="password" name="password"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="登录"/>
<input type="reset" />
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
讲解:这里的最**重点**的就是前三条代码

```html
<form action="login.jsp" method="get">

注意:name的值不能乱取,需要跟user.java里面的名字还有接下来的login.jsp相同!!!

<th>用户名</th>
<td><input type="text" name="name"/></td>
<th>密码</th>
<td><input type="password" name="password"/></td>

这条HTML代码的意义就是设置登陆和重置的功能,如果submit就会直接传到(get)到login.jsp这个jsp文件里面

<input type="submit" value="登录"/>
<input type="reset" />

3. login.jsp 处理传过来的值

<%@ page contentType="text/html" pageEncoding="utf-8" %>
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>数据登陆页面</title>
</head>
<body>
<%
String name=request.getParameter("name");
String password=request.getParameter("password");
if(name.equals("qq")&&password.equals("123")){
%>
<%="登陆成功,欢迎你"%>
<%=request.getParameter("name")%>
<%
}else{
%>
<jsp:forward page='login.html'>
<jsp:param name='user' value="<%=name%>"/>
</jsp:forward>
<%
}
%>
</body>
</html>

讲解:

  • java脚本代码需要用<% %>符号,这个脚本体的意思就是接受login.html穿过来的值
  • request请求中如果有中文可能会导致中文乱码,因此最最开始的头上面需要指定UTF-8编码方式
  • java里面判断两个字符串是否相等是不可以直接==的,需要使用equals()方法
<%
String name=request.getParameter("name");
String password=request.getParameter("password");
if(name.equals("qq")&&password.equals("123")){
%>
  • 如果同时满足if里面的两个要求,在页面则会返回用户名填进去的name
  • 需要注意如果是输出jsp代码,后面是没有 ; 的符号为:<%= %>
<%="登陆成功,欢迎你"%>
<%=request.getParameter("name")%>
  • 如果没有同时满足if里面的两个要求,则会重新跳转到HTML进行重新输入
  • jsp:forward动作指令之后的代码是不会执行的。
  • jsp:param动作就是起到修饰的作用
<jsp:forward page='login.html'>
<jsp:param name='user' value="<%=name%>"/>
</jsp:forward>

下面是运行结果:
在这里插入图片描述

第二种:如果成功跳转新的页面

跟第一个唯一不一样的就是在login.jsp里面的成功跳转页面改一下就好了呀~

<%
String name=request.getParameter("name");
String password=request.getParameter("password");
if(name.equals("qq")&&password.equals("123")){
%>
<jsp:forward page='success.jsp'>
<jsp:param name="user" value="<%=name%>"/>
</jsp:forward>
<%
}else{
%>
<jsp:forward page='login.html'>
<jsp:param name='user' value="<%=name%>"/>
</jsp:forward>
<%
}
%>

当然.success.jsp也是需要写的

<%@ page contentType="text/html" pageEncoding="utf-8" %>
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>用户登陆成功页面</title>
</head>
<body>
登陆成功
<br>
欢迎你,<%=request.getParameter("name")%>
</body>
</html>

第三种:如果成功跳转其他页面

只需要重定向就好~response.senRedirect(" path")

<%
String name=request.getParameter("studentNumber");
String password=request.getParameter("password");
if(name.equals("jwzx")&&password.equals("jwzx")){
    response.sendRedirect("http://jwc.cqupt.edu.cn/");
}else{
 %>
 <jsp:forward page='login.html'>
 <jsp:param name='user' value="<%=name%>"/>
 </jsp:forward>
<%
}
%>

标签:java,name,jsp,跳转,login,写法,JavaBean,页面
来源: https://blog.csdn.net/qq_42907061/article/details/117618444

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有