基于Struts2框架实现登录案例

一,准备工作
  1)新建web项目,并导入Struts2jar文件和配置web.xml文件。

  struts2 jar文件

  

  web.xml文件

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 5 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 6 <welcome-file-list>
 7 <welcome-file>index.jsp</welcome-file>
 8 </welcome-file-list>
 9 
10 <filter>
11 <filter-name>struts2</filter-name>
12 <filter-class>
13 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
14 </filter-class>
15 </filter>
16 <filter-mapping>
17 <filter-name>struts2</filter-name>
18 <url-pattern>/*</url-pattern>
19 </filter-mapping>
20 
21 </web-app>

  2)在src文件夹下新建一个struts.xml配置文件。  

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE struts PUBLIC
 3 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 4 "http://struts.apache.org/dtds/struts-2.3.dtd">
 5 <struts>
 6 <package name="mypack" extends="struts-default">
 7 <action name="first">
 8 <result>first.jsp</result>
 9 </action>
10 </package>
11 
12 <!-- Action必须放在指定的包空间中 -->
13 <package name="struts2" extends="struts-default">
14 <!-- 定义login的action,其实现类为com.mhb.action.LoginAction -->
15 <action name="userlogin" class="com.mhb.action.LoginAction">
16 <!-- 定义处理结果与视图资源之间的关系 -->
17 <result name="success">/login_success.jsp</result>
18 <result name="failure">/login_failure.jsp</result>
19 <result name="input">/login2.jsp</result>
20 </action>
21 </package>
22 </struts>


  3)新建用户登录页面login1.jsp,登录成功页面login_success.jsp,
     登录失败页面login_failure.jsp以及业务逻辑组件LoginCheck.java。

  login1.jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 
 3 <html>
 4   <head>
 5     <title>用户登录</title>
 6   </head>
 7   
 8   <body>
 9   <h3>用户登录</h3>
10     <form name="form1" action="userlogin.action" method="post">
11         <table>
12             <tr>
13                 <td>用户名:</td>
14                 <td><input type="text" name="username"></td>
15             </tr>
16             <tr>
17                 <td>密码:</td>
18                 <td><input type="password" name="userpwd"></td>
19             </tr>
20             <tr>
21                 <td><input type="submit" value="登录"></td>
22                 <td><input type="reset" value="重置"></td>
23             </tr>
24         </table>
25     </form>
26   </body>
27 </html>

login_success.jsp ,login_failure.jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 
 3 <html>
 4     <body>
 5         <center>
 6             <font color="red">登陆成功!</font>
 7         </center>
 8     </body>
 9 </html>
10 
11 -------------------------------------------------------------------
12 
13 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
14 
15 <html>
16     <body>
17         <center>
18             <h3>登陆失败!</h3>
19         </center>
20     </body>
21 </html>

业务逻辑组件LoginCheck.java

 1 package com.mhb.model;
 2 
 3 public class LoginCheck {
 4 
 5     public boolean UserLoginCheck(String username,String userpwd){
 6         if(username.equals("admin") && userpwd.equals("123456")){
 7             return true;
 8         }else{
 9             return false;
10         }
11     }
12 }

二,新建登录控制器LoginAction.java

 1 package com.mhb.action;
 2 
 3 import com.mhb.model.LoginCheck;
 4 
 5 //控制类Action
 6 
 7 public class LoginAction {
 8     private String username;
 9     private String userpwd;
10     
11     public String getUsername() {
12         return username;
13     }
14     public void setUsername(String username) {
15         this.username = username;
16     }
17     public String getUserpwd() {
18         return userpwd;
19     }
20     public void setUserpwd(String userpwd) {
21         this.userpwd = userpwd;
22     }
23     
24     public String execute(){
25         //new 一个LoginCheck对象
26         LoginCheck lc = new LoginCheck();
27         //调用业务逻辑组件的判断功能来判断
28         if(lc.UserLoginCheck(username, userpwd)){
29             return "success";
30         }else{
31             return "failure";
32         }
33     }
34 }

 三,浏览器验证

  访问login1.jsp登录页面

输入错误的用户名密码跳转至登录失败页面

输入正确的用户名密码,跳转至成功页面。

posted @ 2015-09-14 14:45  北海悟空  阅读(1003)  评论(0编辑  收藏  举报