我們都知道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就可以咯
下面是登入失敗界面
好了就是這樣了。