天天看點

采用JSP+JavaBean的方式進行簡單的實作使用者的網頁登陸執行個體

我們都知道J2EE中的Model1開發模式,那麼下面就讓我們一起簡單的進行一下回顧,其主要是展現了一個初步的分層的思想:

jsp層,業務邏輯層,以及我們的資料庫層,主要的作用分别為,jsp層負責與使用者之間進行互動,業務邏輯層主要是我們的javabean,至于資料庫層就是通過javaBean與背景的資料庫進行資料互動,這樣就可以省去很多的jsp層的邏輯判斷,有助于我們開發出容易維護的代碼。

javaBean其實就是一種實作了某種标準的簡單的java類罷了,不要将其想象的過于複雜。這個标準包含以下四點:

1)此類必須為public公共類

2)成員變量必須是private私有類型

3)必須包含一個沒有參數的構造函數

4)使用setXXX()和getXXX()方法來做為我們今後操作的工具

了解了這些,那麼就讓我們一起來簡單的進行代碼實作我們的登陸實作吧

下面是項目内的具體的内容

首先我們進行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>

        <input type="submit" name="Submit">

    </form>

</body>

</html>

下面是對注冊界面資訊的擷取,以及jsp界面的跳轉操作,此為最核心步驟

    pageEncoding="utf-8"%>

<title>判斷登陸資訊的jsp界面</title>

<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");

%>    

下面是登陸成功界面的jsp代碼

<%@page import="java.text.*,java.util.*"%>

<title>登陸成功</title>

歡迎您<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>登陸成功!

接下來就是登入失敗索要跳轉到的jsp界面的代碼實作

<%@page import="javax.xml.crypto.Data"%>

<title>登入失敗</title>

<body><br>

登入失敗!請檢查你的使用者名和密碼是否正确。

<a href="Register.jsp"><font color="RED">傳回登入</font></a>

至此,我們的編碼就算結束了,總結一下,我們需要注意的是使用jsp标簽語言配合javaBean可以很友善的進行對資料的處理,但是需要對jsp内置對象的有一定的了解

而且還特别注意對scope的使用,其可以有四個不同的用法,另外property同樣有四種不同的使用具體的就不在此一一闡述。

下面就讓我們一起看一下我們的實作的效果吧:

由于是page,是以我們的使用者名為null,你也可以指定其他的scope就可以咯

下面是登入失敗界面

好了就是這樣了。