国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

Java Web實現的基本MVC實例分析

2020-07-27 21:31:20
字體:
來源:轉載
供稿:網友

本文實例講述了Java Web實現的基本MVC。分享給大家供大家參考。具體如下:

login.jsp――視圖部分的輸入文件
success.jsp――視圖部分的輸出文件
failure.jsp――視圖部分的輸出文件
LoginBean.java――模型部分
LoginServlet.java――控制器部分
web.xml――web應用的配置文件

下面分別介紹:

1、login.jsp

該功能的輸入文件,用戶首先訪問這個文件。主要用于輸入用戶名和口令。
代碼如下:

<%@ page contentType="text/html;charset=gb2312"%><script language="JavaScript"> function isValidate(form) {   // 得到用戶輸入的信息   username = form.username.value;   userpass = form.userpass.value;   // 判斷用戶名長度   if(!minLength(username,6))   {     alert("用戶名長度小于6位!");     form.username.focus();     return false;   }   if(!maxLength(username,8))   {     alert("用戶名長度大于8位!");     form.username.focus();     return false;   }   // 判斷口令長度  if(!minLength(userpass,6))   {     alert("口令長度小于6位!");     form.userpass.focus();     return false;   }   if(!maxLength(userpass,8))   {     alert("口令長度大于8位!");     form.userpass.focus();     return false;   }   return true; } // 驗證是否滿足最小長度 function minLength(str,length) {   if(str.length>=length)     return true;   else     return false; } // 判斷是否滿足最大長度 function maxLength(str,length) {   if(str.length<=length)     return true;   else     return false; }</script><html> <head>  <title>用戶登陸</title> </head> <body>  <h2>用戶登錄</h2>  <form name="form1" action="login" method="post"    onsubmit="return isValidate(form1)">    用戶名:<input type="text" name="username"> <br>    口令:<input type="password" name="userpass"><br>    <input type="reset" value="重置">    <input type="submit" value="提交"><br>  </form> </body></html>

代碼中提供了客戶端驗證功能(用戶名和口令的長度為6-8位)。驗證通過之后會把請求提交給控制器Servlet。

2、success.jsp

登錄成功之后會跳轉到這個界面,界面的代碼如下:

<%@ page contentType="text/html;charset=gb2312"%><html> <head>  <title>登錄成功</title> </head> <body>  <h2>${sessionScope.username}您好,歡迎登錄網上書店!</h2> </body></html>

代碼中使用表達式語言把登錄后的用戶信息顯示在街面上。

3、failure.jsp

登錄失敗后會跳轉到這個界面,界面的代碼如下:

<%@ page contentType="text/html;charset=gb2312"%><html> <head>  <title>登錄失敗</title> </head> <body>  <h2>用戶名或者口令不正確,請<a href="login.jsp">重新登錄!</a></h2> </body></html>

代碼中提供了一個超鏈接,能夠鏈接到登錄界面。

4、LoginBean.java

完成登錄功能,這里假設用戶名和口令相等表示登錄成功。

package beans;public class LoginBean {  public boolean validate(String username,String userpass){    return username.equals(userpass);  }}

5、LoginServlet.java

該文件完成控制,主要功能可以描述如下:

①. 從login.jsp獲取用戶輸入的用戶名和口令;
②. 創建LoginBean的對象,調用LoginBean的方法validate;
③. 根據方法返回的結果,選擇success.jsp或者failure.jsp對用戶響應。

完整的代碼如下:

package servlets;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.*;import javax.servlet.http.*;import beans.*;public class LoginServlet extends HttpServlet {  public void doGet(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {    doPost(request,response);  }  public void doPost(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {    // 獲取用戶輸入的用戶ID和口令    String username = request.getParameter("username");    String userpass = request.getParameter("userpass");    // 創建模型對象    LoginBean loginBean = new LoginBean();    // 調用業務方法進行驗證    boolean b = loginBean.validate(username,userpass);    // 要轉向的文件    String forward;    // 如果登陸成功,把用戶名寫入session中,并且轉向success.jsp,    // 否則轉向failure.jsp    if(b){    // 獲取session    HttpSession session = (HttpSession)request.getSession(true);    // 把用戶名保存到session中    session.setAttribute("username",username);    // 目標轉向文件是success.jsp    forward = "success.jsp";    }else{    // 目標轉向文件是failure.jsp    forward = "failure.jsp";    }    // 獲取Dispatcher對象    RequestDispatcher dispatcher = request.getRequestDispatcher(forward);    // 完成跳轉    dispatcher.forward(request,response);  }}

代碼中把登錄用戶的用戶信息保存在了session中,在實際應用中同樣也是這樣處理的。

6、web.xml

主要代碼是Servlet的配置,代碼如下:

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4"  xmlns="http://java.sun.com/xml/ns/j2ee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>LoginServlet</servlet-name> <servlet-class>servlets.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>login</url-pattern> </servlet-mapping></web-app>

希望本文所述對大家的JSP程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 容城县| 德钦县| 茌平县| 庄河市| 介休市| 沭阳县| 多伦县| 常宁市| 泽库县| 桃源县| 慈利县| 七台河市| 渭南市| 城市| 白沙| 安新县| 延安市| 交口县| 台北县| 临澧县| 商水县| 珲春市| 巢湖市| 芮城县| 平顶山市| 巴林右旗| 永寿县| 澎湖县| 永嘉县| 宜昌市| 丰都县| 贺州市| 耒阳市| 和龙市| 宣武区| 贞丰县| 浑源县| 临澧县| 彭州市| 临沭县| 民乐县|