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和返回结果集;

  

 <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts>
<package name="default" namespace="/" extends="struts-default">
<action name="hello" class="com.it.action.HelloAction">
<result name="success">/hello.jsp</result>
//默认访问的是execute()方法
</action> </package>
</struts>

第一种 struts.xml

 <!--
对一个action配置多个方法对应,减少了action类的的数量,仍旧无法减少配置的数量
地址栏输入:http://localhost:8080/Struts/user_addInput 即可
<action name="user_addInput" class="com.it.action.UserAction" method="addInput">
<result name="success">/addInput.jsp</result>
</action>
<action name="user_add" class="com.it.action.UserAction" method="add">
<result name="success">/WEB_INF/add.jsp</result>
</action>
<action name="user_list" class="com.it.action.UserAction" method="list">
<result name="success">/WEB_INF/user/list.jsp</result>
</action>
-->

第二种 struts.xml

 package com.it.action;

 public class UserAction {
public String addInput(){
System.out.println("add Input!");
return "addInput";
}
public String add(){
System.out.println("add==");
return "add";
}
public String list(){
System.out.println("list---");
return "list";
}
} <!--
==============================
以下方法就写一个action,之后通过在调用的时候确定方法
地址栏输入:http://localhost:8080/Struts/user!addInput
很不明白为什么是"!"号
--> <action name="user" class="com.it.action.UserAction" >
<result name="addInput">addInput.jsp</result>
<result name="add">/WEB_INF/add.jsp</result>
<result name="list">/WEB_INF/user/list.jsp</result>
</action>

UserAction及struts.xml

 <!--
============================
基于通配符的方式
http://localhost:8080/Struts/User_list.action
-->
<action name="*_*" class="com.it.action.{1}Action" method="{2}" >
<result >/{1}/{2}.jsp</result>
<!--
UserAction中的add里边return "r_list";用下边的配置,就可以让User_add也跳转到/User/list.jsp页面
-->
<result type="redirect" name="r_list">/{1}_list</result> </action>
 <!-- 通过配置constant的方法来重置默认选项 -->
<constant name="struts.action.extension" value="action,do,df"/>
<constant name="struts.configuration.xml.reload" value="true"/>

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

  

  

struts入门初步(一)的更多相关文章

  1. Struts 2 初步入门(三)

    接Struts 2初步入门(二) 若想用多个通配符设定访问: <struts> <package name="default" namespace="/ ...

  2. 菜鸟玩云计算之二十:saltstack入门初步

    菜鸟玩云计算之二十 SaltStack 入门初步 0. saltstack 是什么 参考下面的文章: http://docs.saltstack.com/en/latest/topics/tutori ...

  3. Struts1.3——Struts入门

    1.Struts的几个基本概念 1.struts是一个开源框架(frameset) 2.struts是一个Web框架 3.struts是一个基于MVC的Web框架 2.为什么有struts 因为我们对 ...

  4. Struts 2 初步入门(六)之处理结果类型

    Struts2 处理流程: 用户请求--->struts框架--->Action控制器--->struts框架--->视图资源 xml配置文件里: <result nam ...

  5. Struts 2 初步入门(二)

    Struts 2 动态方法调用 1.在HelloWorldAction中添加两个新的方法如下: import com.opensymphony.xwork2.ActionSupport; public ...

  6. Struts 2 初步入门(一)

    搭建Struts 2环境步骤 下载jar包----->创建web项目---->创建并完善相关配置文件---->创建action并测试启动 下载jar包访问网站:http://stru ...

  7. Struts 2 初步入门(五)之接受参数

    1.使用action的属性接受参数 执行顺序为:前端提交参数--->LoginAction.do进行处理--->处理成功后,跳转到sucess.jsp文件. (1)新建login.jsp文 ...

  8. struts入门实例

    入门实例 1  .下载struts-2.3.16.3-all  .不摆了.看哈就会下载了. 2  . 解压  后 找到 apps 文件夹. 3.    打开后将 struts2-blank.war   ...

  9. Struts入门(三)深入Struts用法讲解

    访问Servlet API Action搜索顺序 动态方法调用 指定多个配置文件 默认Action Struts 后缀 接收参数 处理结果类型 1.访问Servlet API 首先我们了解什么是Ser ...

随机推荐

  1. video

    <div class="index-video-wrapper"> <video autoplay loop poster="img/index-ima ...

  2. What is the difference between parameterized queries and prepared statements?

    Both parameterized queries and prepared statements are exactly the same thing. Prepared statement se ...

  3. securtcrt session配置转xshell的session配置

    参数: 1.securtcrt的session目录 2.一个xshell的模版文件 3.输出目录(必须不存在,自动创建) #!/usr/bin/python # -*- coding:utf-8 -* ...

  4. substr mb_substr mbstrct 的用法区别

    1.substr遇到中文会出问题,用于截取英文字符 2.mb_substr() 按字符截取字符串,需要开启php_mbstring.dll <?php echo mb_substr(, , 'u ...

  5. Git branch 和 Git checkout常见用法

    git branch 和 git checkout经常在一起使用,所以在此将它们合在一起 1.Git branch 一般用于分支的操作,比如创建分支,查看分支等等, 1.1 git branch 不带 ...

  6. lodash源码(2)

    1.flatten 对深层嵌套数组的抹平 _.flatten([1, [2, 3, [4]]]);* // => [1, 2, 3, [4]]** // using `isDeep`* _.fl ...

  7. 《奥威Power-BI智能分析报告制作方法 》精彩回顾

     上次课我们简单介绍了奥威Power-BI的智能分析报告,并展示了报告与图表相结合的应用场景.图文分析报表的意义不只在于美观,更重要的是固定框架下的灵活性和追根究底的动态分析,有着很强的实用性.上节课 ...

  8. AJAX-----09iframe模拟ajax文件上传效果原理1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 提高Oracle的WHERE语句性能一些原则

    索引是表的一个概念部分 , 用来提高检索数据的效率, ORACLE 使用了一个复杂的自平衡 B-tree 结构 . 通常 , 通过索引查询数据比全表扫描要快 . 当 ORACLE 找出执行查询和 Up ...

  10. win7 64+python2.7.12安装numpy+scipy+matplotlib+scikit-learn

    python包下载网址 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 1.已经安装python2.7.12,查看scripts里是否有pip.2.7.9版本以上 ...