这里记一下第一次Struts2框架的使用方法,首先学会使用Struts2写一个HelloWorld。
首先导入Struts2所依赖得jar包
首先创建一个web工程
注意选择2.5的规范。然后将框架所需要依赖的jar包copy到WEB-INF中的lib文件夹里
因为Struts2框架是基于拦截器机制来处理用户请求的,所以需要砸web.xml添加一个Struts2的过滤器。
1 <filter> 2 <filter-name>Struts2</filter-name> 3 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 4 </filter> 5 <filter-mapping> 6 <filter-name>Struts2</filter-name> 7 <url-pattern>/*</url-pattern> 8 </filter-mapping>
添加好之后在WebRoot创建一个HelloWorld.jsp。
<%@page pageEncoding="utf-8" contentType="text/html;charset=utf-8"%> <!DOCTYPE HTML> <html> <head> <title></title> </head> <body> HelloWorld! </body> </html>
创建完成后。开始创建Action.java。
这里的Action可以选择实现Action接口,也可以选择继承ActionSupport类。
ActionSupport类实现了Action接口同时加强了其他功能,所以推荐继承ActionSupport类。这里选择了实现Action接口。
package com.mrlv.action; import com.opensymphony.xwork2.Action; public class HelloWorldAction implements Action{ @Override public String execute() throws Exception { System.out.println("执行"); return SUCCESS; } }
接下来需要在src文件夹中导入Struts2的配置文件struts.xml。
这里的package 标签是整个配置的核心部分。每个package代表一个独立的模块。
package标签中
1.name属性:是package的唯一标识;
2.namespace属性:对action配置进行逻辑划分,就是说添加了 namespace="/test" 那么在访问该package内的所有action时所访问的url都需要添加“/test”。
例如下面添加了namespace="/test",那么访问下面的链接由http://localhost:8888/holleworld/hello变为http://localhost:8888/holleworld/test/hello
3.extends属性:制定本package继承另外一个package的所有配置。
4.abstract属性:标识本package的定义为一个抽象定义,即:允许其仅包含声明式的定义,不需要包含action的定义。
action标签中
1.name:action名称
2.class: 对应的类的路径
3.method: 调用Action中的方法名
result标签中
1.name : result名称 和Action中返回的值相同
<?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="helloWorld" extends="struts-default"> <action name="hello" class="com.mrlv.action.HelloWorldAction"> <result name="success">HelloWorld.jsp</result> </action> </package> </struts>
配置好struts.xml后。最后添加到tomcat中运行。
这样变运行成功。