Struts2
1. 配置2.3.16.3
1.1 目录
apps: 示例程序
docs: 文档
lib: 类库
src: 源码
1.2 将 Struts2\apps\struts2-blank\WEB-INF\classes\struts.xml文件复制到项目的src 目录下
可以省略此步骤, 用于更改自动生成代码
1.2.1 名词解释
<package name="default" namespace="/" extends="struts-default">
<!-- 一个xml文件中可以有多个package 主要用于区别action, 在不同的package中可以存在同名的action
namespace决定了action的访问路径, 默认为"", 可以接收所有路径的action
(寻找action时,会先寻找对应的namespace里有没有此action, 若没有在寻找namespace为空里,有没有此action,若没有那么就会报错了)
namespace可以写为/,or/xxx,or/xxx/yyy,对应的访问路径为/index.action,/xxx/index.action,/xxx/yyy/action.action(.action可以不写)
namespace 最好用模块来进行命名 -->
<action name="hello" [class="包名.类名"] [method="方法名"]>
<!-- 调用返回的class,默认的class 返回"success",
默认调用方法execute, 可以指定调用方法: method
public class className extends ActionSupport{
@Override
public String execute(){
return "success";
}
} -->
<result [name="success"]> <!-- name默认值为success,可以不写 -->
/Hello.jsp
</result>
</action>
</package>
1.3 Struts2\apps\struts2-blank\WEB-INF\lib下大部分的.jar文件复制到项目的WebRoot\WEB-INF\lib\下
commons-chain-1.2.jar 91,699
commons-digester-2.0.jar 148,783
commons-fileupload-1.3.1.jar 69,002
commons-io-2.2.jar 173,587
commons-lang3-3.1.jar 315,805
commons-logging-1.1.3.jar 62,050
commons-logging-api-1.1.jar 44,598
commons-validator-1.3.1.jar 138,956
freemarker-2.3.19.jar 931,168
javassist-3.11.0.GA.jar 614,203
ognl-3.0.6.jar 227,997
struts2-core-2.3.16.1.jar 799,980
xwork-core-2.3.16.1.jar 653,278
1.4 将Struts2\apps\struts2-blank\WEB-INF\web.xml 文件中的
<filter> 与 <filter-mapping> 标签内容 复制到项目的web.xml文件中
1.5 源码连接:
/struts-2.3.16.3/src/core/src/main/java
2. 过程:
client: 输入文件地址->
tomcat: 服务器接收->参考web.xml文件->
struts2filter: 处理文件->参考struts.xml(参考namespace()->action()->result())->
/Hello.jsp: 访问的文件->
client: 返回客户端输出文件内容