一、Struts开发框架
基于MVC模式,其中Controller部分是通过专门的Servlet来实现的,Model部分一般由ActionForm和JavaBean及EJB组成 ,View部分依然采用JSP来实现。此外,Struts还提供了丰富的自定义标记库
二、利用开发商务网站身份验证模块
步骤如下:
具体步骤
1. 创建web工程
2. 下载添加struts jar包,拷贝到当前工程的web-Inf/lib目录下
3. 准备视图界面(jsp页面)。
注意先采用传统HTML,提交请求必须为*.do,表单元素的名称必须和一定要保证和bean中的set后get后的首字母变小写后的子串一样
4. 定义javabean接受表单数据。
注意struts中定义的接受表单数据的javaBean必须继承ActionForm
5. 创建控制器组件(建立一个struts包,里面建立一个java类,必须继承Action,并重写http的那个excute方法)
6. 准备配置文件
1) 配置web.xml文件
<servlet>
<servlet-name>action</servlet-name>
<!-- struts的中央控制器,在目前的struts版本中,只能配置一个ActionServlet,多线程运行 -->
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<!-- 数值越小,启动越靠前,服务器启动时实例化ActionServlet 同时调用ActionServet的init方法初始化-->
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
注意:初始化参数必须以config开头。虽然不一定是config
配置Struts-config..xml
<struts-config>
<form-beans >
<form-bean name="loginForm" type="com.qinli.struts.form.LoginForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/login" name="loginForm" type="com.qinli.struts.action.LoginAction">
<forward name="success" path="/success.jsp"></forward>
<forward name="error" path="/error.jsp"></forward>
</action>
</action-mappings>
</struts-config>
7. 发布运行
三、Struts运行流程
1) 服务器启动的时候加载ActionServlet。
2) 调用ActionServlet的init方法,读取Struts-config.xml文件
3) 在内存中(servletcontext)中已经存在Struts-config.xml文件的配置。
4) 客户端请求form action(login.do)属性找到web.xml文件,转到struts的中央控制器ActionServlet
5) ActionServlet解析请求路径/login
6) ActionServlet在Struts-config..xml文件中查找Action节点(根据path属性),path属性的值为/login的Action节点
7) ActionServlet根据name属性的值找到form-beans标签,创建formBean的实例
8) 把页面提交过来的数据封装到该FormBean的对象中
9) ActionServlet读取Action标签中的type属性的值,实例化Action(LoginAction),自动调用action的execute方法
10) ActionServlet根据findForward(“success”)中的success的值在对应的action标签中查找<forward>标签,读取该标签的path属性的值,转发或者重定向