Struts2是基于Struts 和webwork形成的,比Struts1提供了更多更强大的功能。(可以说Struts2是webwork的衍生)
:commons-filoupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.0.4.jar
ognl-3.0.jar //对象表达语言
strus2-core-2.2.1.1.jar//struts2核心库
xwork-core-2.2.1.1.jar
freamarker-2.3.16.jar //从struts2.0开始需要此jar包
javassist-3.7.ga.jar
:在 src下面创建struts.xml //导入struts2.0.dtd 它在struts2-core-2.2.1.1.jar的目录下
/*为什么要在src下面创建struts.xml
因为Struts2框架真正的配置文件在项目中的classes文件中
创建在src下面是为了让IDE能够自动拷贝到Struts真正执行的配置文件中
*/
//如何配置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> <package name="struts2" extends="struts-default"> //继承了struts-default.xml //配置一个Action对象 /*package 中name的值无任何实际意义 可以用于其它packeage的继承*/ <action name="login" class="org.viancent.action.LoginAction"> <result name="success">/result.jsp</result> /* result标签中还有一个属性Type用于指定跳转的类型它默认的是使用dispathcer 请求转发redirect则是重定向等等在struts-default.xml都有定义 */ </action> </package> </struts>
//在struts2 在web.xml的配置如下:struts2需要配置在web.xml文件文件中配置一个过滤器
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern> /* //(这里一般使用"/*") </url-pattern> //注意啦,这里不能用"/*.action" (能够使用“*.action” 但是只有在项目中没有Jsp使用struts2标签的时候才能使用,否则会抛出异常) </filter-mapping>
//在LoginAction类中的信息 public class LoginAction { private String username; /* 当表单将数据发送进来后,表单中的属性名会与LoginAction中的 (set+表单元素的名称的方法 如:setUsername()方法对应 <input type="text" name="userName" id="userName">元素)进行比对, */ private String password; //如果相同则将数据信息赋值给该属性,并且将数据信息保存在request作用域中 public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String execute() { return "success"; } }
//在index.jsp中的信息为:
<body> <form action="login.action"> //这里填写struts.xml 文件中配置的与之处理相关的Action 标签的name属性的值+.action username:<input type="text" name="username" id="username" /> <br /> password:<input type="password" name="password" id="password"/> <br /> <input type="submit" value="submit" /> </form> </body>
//配置一个result.jsp 显示结果页面
//启动服务器
//在tomcat apache-tomcat-6.0.14服务器中config文件夹中的service.xml /*文件中的<host>标签中添加项目启动信息 <Context path="/struts2" docBase="C:\Users\Administrator\Workspaces\MyEclipse 8.5\Struts2\WebRoot" reloadable="true"/> reloadable :设置当工程有改动的时候是否自动加载 path: 浏览器访问时需要的路径 docBase:启动的项目路径 对应WebRoot路径 */
//在浏览器中
//使用 http://localhost:8080/struts2/ 访问index.jsp界面
//struts2 项目中可能出现的异常