1.导入struts lib下的所有的jar包
2. 需要项目启动的时候我们就创建中央处理器对象 所有需要修改web.xml如下
添加:
-------------------添加的xml--------------------------------------------
<display-name>Struts Blank Application</display-name>
<!-- Standard Action Servlet Configuration -->
<!-- 表示我们启动项目就创建我们的中央控制器对象 使用structs就应该启动就创建 -->
<!-- 就好比我们启动qq需要操作系统-->
<servlet>
<servlet-name>action</servlet-name>
<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>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
分析: <url-pattern>*.do</url-pattern>
表明 :在我们的struts-model中也是使用一个servlet来拦截所有的.do请求
<load-on-startup>2</load-on-startup>
非0 代表的项目启动的时候创建
3.写好service dao pojo
4.开始写action 如addUserAction
4.1写action 的时候我们需要继承的apach 的action
4.2并且需要我们重写execute这样的方法
4.3简单的分析action
//ActionMapping 是配置文件中的一对action
//可以用来寻找我需要的在xml中信息
// 如 mapping.findForward 就是去寻找forward 达到跳转的目的
//ActionForm是自动的去收集url传过来的参数,免去转型的烦恼
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String username = request.getParameter(username);
String password= request.getParameter(password);
int age=Integer.parsInt(request.getParameter(age));
User user= new User();
user.setUsername(username );
user.setPassword(password);
user.setAge(aufa.getAge());
System.out.println(aufa.getAge());
UserServiceImpl.getInstance().addUser(user);
return mapping.findForward("success");
}
5.配置xml文件 (xml强大啊)
<!--千万注意的是只要是 path 一定是有斜杠的 -->
<action-mappings>
<action path="/addUser" type="com.struts.anping.action.AddUserAction" >
<forward name="success" path="/ok.jsp"></forward>
</action>
</action-mappings>
解释:: <forward name="success" path="/ok.jsp"></forward>
用来做跳转!当从addUserAction 中mapping.findForward的值是success 那么我就跳转到OK.jsp中取!!