一 Struts使用步骤
1 导入Struts jar包
2 在WEB-INF中新建struts-config.xml
<struts-config>
<form-beans>
<form-bean name="loginForm" type="com.zsg.form.LoginForm"></form-bean>
</form-beans>
<action-mappings>
<!-- 请求进入ActionServlet后,再通过path来确定进入哪个action -->
<!-- name 为给action传入的form 该form自动匹配表单中的数据 -->
<action path="/login" type="com.zsg.action.LoginAction" name="loginForm">
<forward name="loginSuccess" path="/loginSuccess.jsp"/>
<forward name="loginFail" path="/loginFail.jsp"/>
</action>
</action-mappings>
</struts-config>
3 在web.xml中配置ActionServlet,并将配置文件指向struts-config.xml
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<!-- 初始化servlet 指向配置文件 -->
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<!-- 程序一启动就实例化 -->
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<!-- 所有页面访问都会进入ActionServlet -->
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
4 建立xxForm继承ActionForm,并在config中添加form-beans标签
5 建立xxAction继承Action,重写execute方法
6 在config重注册Action,添加action标签
7 在action标签中添加可选返回的界面
二 Struts执行流程
1 ActionServlet读取配置文件
2 浏览器发送请求
3 Servlet填充form
4 Servlet寻找请求所对应的action,携带form 派发请求到action
5 Action处理业务
6 Action返回响应(ActionForward)给Servlet
7 Servlet查找响应
8 响应结果(jsp在服务端运行完,返回html给浏览器)
三 Struts中的一些基本要点
1 Struts中的ActionServlet,from,action 等都属于MVC中的控制层
2 Action在第一次请求时初始化,只初始化一次,线程不安全,所有该请求共享同一个实例
实现安全性编程:
1 注意不要用实例变量或静态变量共享只是针对某个请求的数据
2 注意资源操作的同步性
实例:可以用变量直接记录action被请求的数目
Synohronized(count){ 锁的是对象 Integer
count++
}