| commons-fileupload-1.2.1.jar |
| freemarker-2.3.15.jar |
| commons-logging-1.0.4.jar |
| ognl-2.7.3.jar |
| struts2-core-2.1.8.1.jar |
| xwork-core-2.1.6.jar |
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 在这里写过滤器 11 <filter>
12 <filter-name>struts2</filter-name>这里是过滤器的名字
13 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 14 </filter>上面那一行是过滤器的所在的包里的路径--->Struts准备并执行过滤 15 16 <filter-mapping>这里是过滤的设置17 <filter-name>struts2</filter-name>这是过滤的名字18 <url-pattern>*.action</url-pattern>当请求是以.action发送的时候执行过滤19 </filter-mapping> 20 </web-app>
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <!DOCTYPE struts PUBLIC
4 "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
5 "http://struts.apache.org/dtds/struts-2.1.7.dtd">
6
7 <struts>
8 <constant name="struts.i18n.encoding" value="UTF-8"></constant>这里书写的是struts的编码方式
9 <constant name="struts.devMode" value="true"></constant>这里书写的struts开发模式true开启,产品模式是false
10 <package name="pagekage" extends="struts-default" namespace="/">
11 上面一行是进行设置package name是package的标识用于区分
extends是继承与struts-default
namespace是命名空间 使用的一种代码组织的形式 通过名称空间来分类
12 <action name="login" class="com.action.LoginAction" >
13 在上一行name表示页面里的from或a标签访问的名字
class用于当login被访问时寻找的类
在这里有一个隐藏的属性method,当没有被写出的时候默认执行的方法是execute方法
14 <exception-mapping result="Exe" exception="java.lang.Exception"></exception-mapping>
上一行是一个异常捕获,当action中出现异常时该标签就会异常的字符
result返回Exe exception异常处理机制
15 <result>success.jsp</result>
当result没有 name的属性时,其name默认为success,而后根据写的网页进行跳转
result中间夹着的就是网页
16 <result name="error">error.jsp</result>
17 <result name="Exe">Exe.jsp</result>
18 </action>
19
20 </package>
21 </struts>
1 package com.action; 2 3 import com.bean.User; 4 import com.opensymphony.xwork2.Action; 5 6 public class LoginAction implements Action { 7 8 private User user; 9 10 11 12 public User getUser() { 13 return user; 14 } 15 16 public void setUser(User user) { 17 this.user = user; 18 } 19 20 public String execute() throws Exception { 21 // TODO Auto-generated method stub 22 if(user.getName()!=null&user.getName().equals("wang")){ 23 return "yes"; 24 } 25 return "no"; 26 } 27 28 }
1 package com.action; 2 3 4 import com.bean.User; 5 import com.opensymphony.xwork2.ActionSupport; 6 import com.opensymphony.xwork2.ModelDriven; 7 8 9 10 public class sss extends ActionSupport implements ModelDriven<User>{ 11 12 13 private User user=new User(); 14 15 public String add(){ 16 if(user.getName()!=null&user.getName().equals("wang")){ 17 18 this.addActionMessage("姓名错误!!!请重新输入!"); 19 上一行是继承ActionSupport类里的,可以在页面中直接取出 20 return SUCCESS; 21 } 22 23 return ERROR; 24 } 25 26 public User getModel() { 27 // TODO Auto-generated method stub 28 return user; 29 } 30 31 }
各位纯手打很辛苦的!!!!!!!请让我也上一个首页!!谢谢!
原文:http://www.cnblogs.com/a710445786/p/6370544.html