struts2学习笔记(一):配置struts2开发环境
1.添加struts2必需的的类库到项目的classpath下。
主要有以下几个包:
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2.core-2.1.8.1.jar
xwork-core-2.1.6.jar一般还需要添加log4j.jar
2struts2框架是通过一个Filter来启动的。需要配置WEB INF下的web.xml文件来启动这个过滤器。在web.xml中添加如下内容:
1 <filter> 2 <filter-name>struts2</filter-name> 3 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 4 </filter> 5 6 <filter-mapping> 7 <filter-name>struts2</filter-name> 8 <url-pattern>/*</url-pattern> 9 </filter-mapping>
3.在Filter的init()方法中将会读取class路径下的struts2.xml文件来完成初始化操作。
在struts.xml文件中包含了Action的配置。
以下是一个初始化简单示例。
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 4 "http://struts.apache.org/dtds/struts-2.0.dtd"> 5 6 <struts> 7 <package name="mystruts2" namespace="/" extends="struts-default"> 8 <action name="login" class="net.ibuluo.actions.LoginAction"> 9 <result name="succ">/succ.jsp</result> 10 <result name="fail">/fail.jsp</result> 11 <interceptor-ref name="defaultStack"/> 12 </action> 13 </package> 14 </struts>
4.编写Action类。实现业务控制。
1 package net.ibuluo.actions; 2 import com.opensymphony.xwork2.ActionSupport; 3 /** 4 * 登录业务控制 5 * @author Amu 6 * 7 */ 8 public class LoginAction extends ActionSupport{ 9 10 private String uname; 11 private String pwd; 12 13 public String getUname() { 14 return uname; 15 } 16 17 public void setUname(String uname) { 18 this.uname = uname; 19 } 20 21 public String getPwd() { 22 return pwd; 23 } 24 25 public void setPwd(String pwd) { 26 this.pwd = pwd; 27 } 28 29 public String execute() { 30 if(uname.equals("admin") && pwd.equals("123")){ 31 return "succ"; 32 }else{ 33 return "fail"; 34 } 35 } 36 }
默认必须包含execute()方法。
5.编写业务视图页面。
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <head> 5 </head> 6 7 <body> 8 <form action="login.action" method="post"> 9 <table width=600 border=1> 10 <tr> 11 <td> 12 用户名 13 </td> 14 <td> 15 <input type="text" name="uname"> 16 </td> 17 </tr> 18 <tr> 19 <td> 20 密码 21 </td> 22 <td> 23 <input type="password" name="pwd"> 24 </td> 25 </tr> 26 <tr> 27 <td colspan=2 align="center"> 28 <input type="submit" value="提交"> 29 30 <input type="reset" value="重置"> 31 32 </td> 33 </tr> 34 35 </table> 36 </form> 37 </body> 38 </html>
succ.jsp和fail.jsp不甚紧要,请自行编辑完成
仅是学习笔记,难免出错,望不吝指点