采用JSP+JavaBean的方式进行简单的实现用户的网页登陆实例

时间:2022-04-17 19:05:40

我们都知道J2EE中的Model1开发模式,那么下面就让我们一起简单的进行一下回顾,其主要是体现了一个初步的分层的思想:

jsp层,业务逻辑层,以及我们的数据库层,主要的作用分别为,jsp层负责与用户之间进行交互,业务逻辑层主要是我们的javabean,至于数据库层就是通过javaBean与后台的数据库进行数据交互,这样就可以省去很多的jsp层的逻辑判断,有助于我们开发出容易维护的代码。

javaBean其实就是一种实现了某种标准的简单的java类罢了,不要将其想象的过于复杂。这个标准包含以下四点:

1)此类必须为public公共类

2)成员变量必须是private私有类型

3)必须包含一个没有参数的构造函数

4)使用setXXX()和getXXX()方法来做为我们今后操作的工具

了解了这些,那么就让我们一起来简单的进行代码实现我们的登陆实现吧

下面是项目内的具体的内容

采用JSP+JavaBean的方式进行简单的实现用户的网页登陆实例

首先我们进行javaBean层的开发:代码如下

package com.po;
//用户类
public class Users {

    private String name;
    private String password;
    
    public Users(){}

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}


下面是javaBean的业务逻辑类,因为我们是简单的项目实现,所以并没有挂上数据库,所以只是用一个方法进行判断

package com.dao;

import com.po.Users;
//业务逻辑类
public class UserDAO {

    public boolean UserLogin(Users u){
        if("admin".equals(u.getName())&&("123456").equals(u.getPassword())){
            return true;
        }
        return false;
    }
}


JSP实现界面:

1)这里是我们的注册界面


<%@page import="sun.security.action.GetPropertyAction"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>

    <form action="doLogin.jsp" method="GET">
        <br>Name:
        <input type="text" name="name" value="">
        <br>Password:
        <input type="text" name="password" value="">
        <br>
        <br>
        <input type="submit" name="Submit">
        
    </form>
    
</body>
</html>


下面是对注册界面信息的获取,以及jsp界面的跳转操作,此为最核心步骤

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>判断登陆信息的jsp界面</title>
</head>
<body>
<jsp:useBean id="loginUser" class="com.po.Users" scope="page"></jsp:useBean>
<jsp:useBean id="userDAO" class="com.dao.UserDAO" scope="page"></jsp:useBean>

<!-- 需要注意的是此处是和表单相关的,所以对property我们就使用自动配对的方式进行数据项的对应-->

<jsp:setProperty property="*" name="loginUser"/>

<%
    if(userDAO.UserLogin(loginUser)){
        session.setAttribute("loginUser", loginUser.getName());
        request.getRequestDispatcher("login_success.jsp").forward(request, response);
    }else{
        response.sendRedirect("login_failure.jsp");
    }
%>    

</body>
</html>


下面是登陆成功界面的jsp代码

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@page import="java.text.*,java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>登陆成功</title>
</head>
<body>
欢迎您<font color="GREEN"></font><%= session.getAttribute("name") %><br>
<%
    Date date=new Date();
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
    String currentTime=sdf.format(date);
%>
当前时间:<%= currentTime %><br>
目前您的session是:<%= session.getId() %><br>
<br>登陆成功!

</body>
</html>


接下来就是登录失败索要跳转到的jsp界面的代码实现

<%@page import="javax.xml.crypto.Data"%>
<%@page import="java.text.*,java.util.*"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>登录失败</title>
</head>
<body><br>
<%
    Date date=new Date();
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
    String currentTime=sdf.format(date);
%>
当前时间:<%= currentTime %><br>
目前您的session是:<%= session.getId() %><br>
登录失败!请检查你的用户名和密码是否正确。
<a href="Register.jsp"><font color="RED">返回登录</font></a>
</body>
</html>


至此,我们的编码就算结束了,总结一下,我们需要注意的是使用jsp标签语言配合javaBean可以很方便的进行对数据的处理,但是需要对jsp内置对象的有一定的了解

而且还特别注意对scope的使用,其可以有四个不同的用法,另外property同样有四种不同的使用具体的就不在此一一阐述。

下面就让我们一起看一下我们的实现的效果吧:

采用JSP+JavaBean的方式进行简单的实现用户的网页登陆实例

由于是page,所以我们的用户名为null,你也可以指定其他的scope就可以咯

采用JSP+JavaBean的方式进行简单的实现用户的网页登陆实例

下面是登录失败界面

采用JSP+JavaBean的方式进行简单的实现用户的网页登陆实例

好了就是这样了。