Struts2学习笔记-part1: 快速起步

建立一个Java Web项目,提取最少运行Struts2应用的包集合(摘自Struts官方文档):

Install the Minimum Set of Libraries and Configuration Files

The following files are a minium requirement for your application.
FilenameDescription
struts2-core.jarFramework library itself, found in distribution root directory
xwork.jarXWork 2 library on which Struts 2 is built (version 2.0 or later)
ognl.jarObject Graph Navigation Language (OGNL), the expression language used throughout the framework
freemarker.jarAll UI tag templates are written in Freemarker (also a good option for your own views)
commons-logging.jarCommons logging, which the framework uses to support transparently logging to either Log4J or JDK 1.4+
web.xmlJava web application configuration file that defines the filters (and other components) for your web application
struts.xmlFramework configuration file that defines the actions, results, and interceptors for your application
If any Struts 2 Plugins are included, then other JARs may be needed too. For example, the optional Spring Plugin requires the Spring JARs to be present.
 
 
目标:实现一个简单的用户登录.
 
下面是实现源码:
 
一、先实现登录页面
<%-- 
  登录页面 
  User: leizhimin 
  Date: 2008-3-14 
  Time: 15:45:52 
  To change this template use File | Settings | File Templates. 
--%> 
< %@ page  contentType ="text/html;charset=GBK"  language ="java" % > 
< html > 
< head > < title >登录页面 </title> </head> 

< body > 
< form  action ="Login.action"  method ="post" > 
     < table  align ="center" > 
         < caption > < h3 >用户登录 </h3> </caption> 
         < tr > 
             < td >用户名: < input  type ="text"  name ="username" /> </td> 
         </tr> 
         < tr > 
             < td >密  码: < input  type ="text"  name ="password" /> </td> 
         </tr> 
         < tr  align ="center" > 
             < td  align ="center" > 
                 < input  type ="submit"  value ="登录" /> 
                 < input  type ="reset"  value ="重填" /> 
             </td> 
         </tr> 
     </table> 
</form> 
</body> 
</html>
 
二、实现处理页面的Action
 
package stu; 

/** 
* 处理用户请求的Action 
* File: LoginAction.java 
* User: leizhimin 
* Date: 2008-3-14 15:59:07 
*/
 
public  class LoginAction { 
     private String username; 
     private String password; 

     /** 
     * 处理用户请求的execute方法 
     * 因为Struts2的拦截机制,他们负责解析用户的请求参数,并将请求参数赋给Action对应的属性 
     * 
     * @return 当用户名为aaa并且密码为123时,返回success,否则,返回error. 
     * @throws Exception 
     */
 
     public String execute()  throws Exception { 
         //当用户名为aaa并且密码为123时,返回success,否则,返回error. 
         if (getUsername().equals( "aaa") && getPassword().equals( "123")) { 
             return  "success"
        }  else { 
             return  "error"
        } 
    } 

     public String getPassword() { 
         return password; 
    } 

     public  void setPassword(String password) { 
         this.password = password; 
    } 

     public String getUsername() { 
         return username; 
    } 

     public  void setUsername(String username) { 
         this.username = username; 
    } 
}
 
三、配置Web.xml
 
<? xml  version ="1.0"  encoding ="GBK" ?> 

< 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 [url]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd[/url]" > 

     < display-name >Struts Blank </ display-name > 
    <!-- 定义Struts2的FilterDispatcher的Filter--> 
     < filter > 
        <!-- 定义核心Filter的名字--> 
         < filter-name >struts2 </ filter-name > 
        <!-- 定义核心Filter的实现类--> 
         < filter-class >org.apache.struts2.dispatcher.FilterDispatcher </ filter-class > 
     </ filter > 
    <!-- FilterDispatcher用来初始化Struts2并且处理所有的Web请求--> 
     < filter-mapping > 
         < filter-name >struts2 </ filter-name > 
         < url-pattern >/* </ url-pattern > 
     </ filter-mapping > 

     < welcome-file-list > 
         < welcome-file >/login.jsp </ welcome-file > 
     </ welcome-file-list > 
</ web-app >
 
四、配置Action处理结果和资源资源之间的映射关系
        注意:此文件打包后位于WEB-INF/classes/目录下面,或者放入classpath。
 
<? xml  version ="1.0"  encoding ="GBK" ?> 

< 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 [url]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd[/url]" > 

     < display-name >Struts Blank </ display-name > 
    <!-- 定义Struts2的FilterDispatcher的Filter--> 
     < filter > 
        <!-- 定义核心Filter的名字--> 
         < filter-name >struts2 </ filter-name > 
        <!-- 定义核心Filter的实现类--> 
         < filter-class >org.apache.struts2.dispatcher.FilterDispatcher </ filter-class > 
     </ filter > 
    <!-- FilterDispatcher用来初始化Struts2并且处理所有的Web请求--> 
     < filter-mapping > 
         < filter-name >struts2 </ filter-name > 
         < url-pattern >/* </ url-pattern > 
     </ filter-mapping > 

     < welcome-file-list > 
         < welcome-file >/login.jsp </ welcome-file > 
     </ welcome-file-list > 
</ web-app >
 
五、增加登录成功和失败页面
 
< %@ page  contentType ="text/html;charset=GBK"  language ="java" % > 
< html > 
   < head > < title >登录成功页面 </title> </head> 
   < body > 
           登录成功! 
   </body> 
</html>
 
< %@ page  contentType ="text/html;charset=GBK"  language ="java" % > 
< html > 
   < head > < title >登录失败 </title> </head> 
   < body > 
      登录失败! 
   </body> 
</html>
 
六、打包并部署到tomcat,运行如下图:
 
 
 


本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/65773,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值