zoukankan      html  css  js  c++  java
  • 通过案例说明struts2的工作流程

    本文主要是通过一个例子来说明Struts2的一个工作流程。

    首先定义一个登录页面login.jsp:

     

    1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
    2.     pageEncoding="UTF-8"%>  
    3. <%@ taglib prefix="s" uri="/struts-tags" %>      
    4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
    5. <html>  
    6. <head>  
    7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
    8. <title>登录页面</title>  
    9. </head>  
    10. <body>  
    11.     <s:form action="loginUser">  
    12.         <s:label value="登录页面"></s:label>  
    13.         <s:textfield name="user.userName" label="用户名:"></s:textfield>  
    14.         <s:textfield name="user.name" label="姓名:"></s:textfield>  
    15.         <s:password name="user.password" label="登录密码:"></s:password>  
    16.         <s:submit value="登录"></s:submit>  
    17.     </s:form>  
    18. </body>  
    19. </html>  

     

     

    定义一个登录成功跳转到欢迎页面welcome.jsp:

     

    1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
    2.     pageEncoding="UTF-8"%>  
    3. <%@ taglib prefix="s" uri="/struts-tags"  %>      
    4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
    5. <html>  
    6. <head>  
    7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
    8. <title>欢迎页面</title>  
    9. </head>  
    10. <body>  
    11.     欢迎<FONT color="red" style="font-weight: bold" >"<s:property value="user.name"/>"</FONT>登录系统  
    12. </body>  
    13. </html>  

     

     

    定义一个用户实体类User.java:

     

    1. package org.ml.bean;  
    2.   
    3. /** 
    4.  * 用户实体类 
    5.  *  
    6.  * @author MuLing 
    7.  *  
    8.  */  
    9. public class User {  
    10.     private String userName;// 用户名  
    11.     private String name;// 用户姓名  
    12.     private String password;// 用户密码  
    13.   
    14.     public String getUserName() {  
    15.         return userName;  
    16.     }  
    17.   
    18.     public void setUserName(String userName) {  
    19.         this.userName = userName;  
    20.     }  
    21.   
    22.     public String getPassword() {  
    23.         return password;  
    24.     }  
    25.   
    26.     public void setPassword(String password) {  
    27.         this.password = password;  
    28.     }  
    29.   
    30.     public void setName(String name) {  
    31.         this.name = name;  
    32.     }  
    33.   
    34.     public String getName() {  
    35.         return name;  
    36.     }  
    37. }  


    定义一个Action:UserAction.java

     

     

    1. package org.ml.action;  
    2.   
    3. import org.ml.bean.User;  
    4.   
    5. import com.opensymphony.xwork2.ActionSupport;  
    6.   
    7. /** 
    8.  * 用户实体对于的Action 
    9.  *  
    10.  * @author MuLing 
    11.  *  
    12.  */  
    13. public class UserAction extends ActionSupport {  
    14.     private static final long serialVersionUID = 1L;  
    15.       
    16.     private User user ;  
    17.   
    18.     /** 
    19.      * 自定义login方法 
    20.      *  
    21.      * @return 
    22.      */  
    23.     public String login() {  
    24.         if ("admin".equals(user.getUserName()) && "admin".equals(user.getPassword())) {  
    25.             return SUCCESS;  
    26.         } else {  
    27.             return INPUT;  
    28.         }  
    29.     }  
    30.   
    31.     /** 
    32.      * @param user the user to set 
    33.      */  
    34.     public void setUser(User user) {  
    35.         this.user = user;  
    36.     }  
    37.   
    38.     /** 
    39.      * @return the user 
    40.      */  
    41.     public User getUser() {  
    42.         return user;  
    43.     }  
    44.    
    45.   
    46. }  


    Struts2的核心配置strut.xml配置如下:

     

     

    1. <?xml version="1.0" encoding="UTF-8" ?>  
    2. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">  
    3. <struts>  
    4.     <package name="user" extends="struts-default" >  
    5.         <action name="loginUser" class="org.ml.action.UserAction" method="login">  
    6.             <result name="success">/welcome.jsp</result>  
    7.             <result name="input">/login.jsp</result>  
    8.         </action>  
    9.     </package>  
    10. </struts>      


    还有就是web.xml的配置如下:

     

     

    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <web-app version="2.5"   
    3.     xmlns="http://java.sun.com/xml/ns/javaee"   
    4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
    7.   <welcome-file-list>  
    8.     <welcome-file>index.jsp</welcome-file>  
    9.   </welcome-file-list>  
    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></web-app>  


    上面就是本例涉及的所有文件内容,下面就看一下效果:

     

    进行登录:

    登录成功:



    上面的登录登录已经成功,然我们来来看这个登录的过程:

    以上是个人的一个理解,欢迎大家交流指正!

    魔由心生,有万境纵横,无一道清静,无量寿佛!
  • 相关阅读:
    工具类-vim在shell中卡死的情况
    tomcat日志分类
    逻辑运算
    牛客练习赛29 F 算式子
    牛客练习赛29 B
    查询
    hdu 5984
    zoj 4057
    zoj 4056
    zoj 4054
  • 原文地址:https://www.cnblogs.com/qihuan/p/3664968.html
Copyright © 2011-2022 走看看