一,准备工作
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登录页面
输入错误的用户名密码跳转至登录失败页面
输入正确的用户名密码,跳转至成功页面。