struts入门初步(一)

 

struts2.0与struts1.0运用了不同的框架,有一定的不兼容性。

  struts2.0借鉴了webwork的框架思想。

Struts2的基本步骤:

1、拷贝struts的jar到项目中(导包);
2、将struts2的过滤器添加到web.xml中;
3、配置struts2的配置文件(在src目录中创建struts.xml文件);
4、创建action(就是一个干净的POJO类);
  4.1 、为action编写execute方法(创建相应的方法);
  4.2、在struts.xml中配置action和返回结果集;

  

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC
 3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 4     "http://struts.apache.org/dtds/struts-2.3.dtd">
 5 
 6 <struts>
 7 <package name="default" namespace="/" extends="struts-default">
 8         <action name="hello" class="com.it.action.HelloAction">
 9             <result name="success">/hello.jsp</result>
10         //默认访问的是execute()方法
11         </action>
12         
13     </package>
14 </struts>    
第一种 struts.xml
 1 <!-- 
 2         对一个action配置多个方法对应,减少了action类的的数量,仍旧无法减少配置的数量
 3         地址栏输入:http://localhost:8080/Struts/user_addInput 即可
 4         <action name="user_addInput" class="com.it.action.UserAction" method="addInput">
 5             <result name="success">/addInput.jsp</result>
 6         </action>
 7         <action name="user_add" class="com.it.action.UserAction" method="add">
 8             <result name="success">/WEB_INF/add.jsp</result>
 9         </action>
10         <action name="user_list" class="com.it.action.UserAction" method="list">
11             <result name="success">/WEB_INF/user/list.jsp</result>
12         </action>
13  -->
第二种 struts.xml
 1 package com.it.action;
 2 
 3 public class UserAction {
 4     public String addInput(){
 5         System.out.println("add Input!");
 6         return "addInput";
 7     }
 8     public String add(){
 9         System.out.println("add==");
10         return "add";
11     }
12     public String list(){
13         System.out.println("list---");
14         return "list";
15     }
16 }
17 
18 <!--
19         ==============================
20         以下方法就写一个action,之后通过在调用的时候确定方法
21             地址栏输入:http://localhost:8080/Struts/user!addInput
22             很不明白为什么是"!"号
23         -->
24     
25         <action name="user" class="com.it.action.UserAction" >
26             <result name="addInput">addInput.jsp</result>
27             <result name="add">/WEB_INF/add.jsp</result>
28             <result name="list">/WEB_INF/user/list.jsp</result>
29         </action>
UserAction及struts.xml
 1 <!-- 
 2         ============================
 3         基于通配符的方式 
 4         http://localhost:8080/Struts/User_list.action
 5         -->
 6         <action name="*_*" class="com.it.action.{1}Action" method="{2}" >
 7             <result >/{1}/{2}.jsp</result>
 8             <!-- 
 9             UserAction中的add里边return "r_list";用下边的配置,就可以让User_add也跳转到/User/list.jsp页面
10              -->
11             <result type="redirect" name="r_list">/{1}_list</result>
12             
13         </action>
1 <!-- 通过配置constant的方法来重置默认选项 -->
2     <constant name="struts.action.extension" value="action,do,df"/>
3     <constant name="struts.configuration.xml.reload" value="true"/>

对此,遗留问题有访问不到/WEB_INF/*.jsp(如:/WEB_INF/add.jsp)的问题。tomcat8下边

  

  

原文地址:https://www.cnblogs.com/mxh1099/p/4974605.html