Struts2简单例子

1.首先准备Struts2的必备jar包

Struts2简单例子

2.Struts2拦截用户请求

在web.xml文件中配置Struts2的核心控制器,用来拦截客户端的请求,并将请求转发到相应的Action类中来处理,web.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

  <display-name>struts2Demo</display-name>

  

<!--   Struts2核心控制器 -->

  <filter>

          <filter-name>struts2</filter-name>

          <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

  </filter>

  <filter-mapping>

          <filter-name>struts2</filter-name>

          <url-pattern>/*</url-pattern>

  </filter-mapping>

  

</web-app>

3.创建视图页面login.jsp及index.jsp

login.jsp可以使用Struts2标签库实现一个表单,登陆成功进入index.jsp界面,登陆失败返回login.jsp界面

login.jsp界面代码如下:

 1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

 2 

 3 <!-- 引入Struts2标签库   -->

 4 <%@ taglib prefix="s" uri="/struts-tags" %>

 5 

 6 <!DOCTYPE html>

 7 <html>

 8 <head>

 9 <meta charset="UTF-8" />

10 

11 <style type="text/css">*{font-size:12px;}</style>

12 

13 <title>    登陆页面 </title>

14 </head>

15   

16 <body>

17        <div style="margin:0 auto;">

18            <div style="font-size:14px;font-weight:bold;">用户登陆</div>

19            <div>

20                <s:form action="checkLogin" namespace="/login">

21                    <s:textfield name="username" style="font-size:12px;width:120px;" label="登陆名称" />

22                    <s:password name="password" style="font-size:12px;width:120px;" label="登陆密码" />

23                    <s:submit value="登陆" />

24                </s:form>

25            </div>

26        </div>    

27 </body>

28 </html>

index.jsp界面代码如下:

 1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

 2 

 3 <!DOCTYPE html>

 4 <html>

 5 <head>

 6 <meta charset="UTF-8" />

 7 <title> 主页 </title>

 8 </head>

 9   

10 <body>

11     <h1>登陆成功,欢迎您!</h1>

12 </body>

13 </html>

4.创建业务控制器LoginAction

LoginAction类作为逻辑控制器组件,定义checkLogin方法处理登陆验证逻辑,代码如下:

 1 package action;

 2 

 3 import com.opensymphony.xwork2.ActionSupport;

 4 

 5 /** 

 6  * @author Sere

 7  * @date:2015年7月18日 上午9:04:18 

 8  * 类说明 

 9  */

10 public class LoginAction extends ActionSupport{

11 

12     private static final long serialVersionUID = 7922979648150320921L;

13     

14     private String username;

15     private String password;

16     

17     /**

18      * 处理客户端请求的method,对应struts.xml文件

19      * @author  Sere

20      * @date:2015年7月18日 上午9:06:22

21      * */

22     public String checkLogin(){

23         if(this.username.endsWith("sere")&&this.password.equals("123")){

24             return SUCCESS;    //登陆成功返回SUCCESS

25         }else{

26             return LOGIN;    //登陆失败返回LOGIN

27         }

28     }

29     

30 

31     public String getUsername() {

32         return username;

33     }

34     public void setUsername(String username) {

35         this.username = username;

36     }

37     public String getPassword() {

38         return password;

39     }

40     public void setPassword(String password) {

41         this.password = password;

42     }

43 }

5.配置LoginAction

当Action处理完请求后返回一个字符串,每个字符串对应一个视图。在Struts.xml文件中配置Action时,name定义该Action的名称,class定义这个Action实际实现类,method表示这个Action中的实际实现方法。

在Struts.xml文件中,每个Action文件都指定了result元素,每个result元素都定义了一个逻辑视图,其中的name属性定义了Action所返回的字符串。

Struts.xml文件代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">



<struts>

    <include file="struts-default.xml" />

    <package name="struts2_login" extends="struts-default" namespace="/login">

        <action name="checkLogin" class="action.LoginAction" method="checkLogin">

            <result name="success">/index.jsp</result>

            <result name="login">/login.jsp</result>

        </action>

    </package>

</struts>

6.部署

struts.xml文件放在WEB-INF\classes目录下,jsp放在Webroot下,结构如下:

Struts2简单例子

最后,部署到Tomcat服务器上打开login.jsp页面,用户名成功跳转index.jsp,失败跳转login.jsp

Struts2简单例子   Struts2简单例子

 

你可能感兴趣的:(struts2)