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. 《UML大战需求分析》阅读笔记02

    软件应能真正的对客户的工作提供帮助,只有客户使用并真正对其有用才能说我们做的软件成功了.客户从开始提出需求时到后期的工作过程中,需求总是不停变化的,所以这就需要需求人员对需求领先于客户.所以活用UML ...

  2. hibernate学习(1)——helloworld

    1. 框架体系结构 2. hibernate入门 2.1 ORM框架 Hibernate是一个数据持久化层的ORM框架. Object:对象,java对象,此处特指JavaBean Relationa ...

  3. Wb应用程序开放原理

    简介:基于wb的浏览器/服务器(简称B/S),架构编程,已经成为目前企业级应用程序开发的主流.                                1.企业应用计算的演变:主机/呀终端的集中 ...

  4. github展示项目

    首先在原repo中创建一个gh-pages分支,然后把你master分支的东西都搬过来,将这个gh-pages作为你的HEAD主分支.如果想删掉master分支,需要在repo的settings中修改 ...

  5. win7 iis7 发布asp.net mvc4.0+EF6.0站点记录

    1.处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler” 解决方法: 原因: 1.iis ...

  6. 使用Notepad++代替笨拙的Arduino IDE

    Arduino自带的IDE 太不好用了,下面是用强大,轻量级,免费,开源,丰富插件的的Notepad++编辑器来打造Arduino开发环境 . 配置过程对新生来说可能有些繁琐,但是我尽力写的很详细了, ...

  7. 使用paramiko模块远程登录并上传或下载文件

    1.paramiko安装 1)安装PyCrypto2.6 for Python 2.7 64bit.地址:http://www.voidspace.org.uk/python/modules.shtm ...

  8. VS2015/2013/2012 IIS Express Debug Classic ASP

    参考资料: https://msdn.microsoft.com/en-us/library/ms241740(v=vs.100).aspx When you attach to an ASP Web ...

  9. RDIFramework.NET ━ 9.14 数据库连接管理 ━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.14  数据库连接管理 -Web部分 我们经常可以看到很多软件直接把数据库连接字符串放在软件执行目录下的配置文件中,这种直接把 ...

  10. RDIFramework.NET ━ 9.16 案例模块━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.15  案例模块 -Web部分 9.16.1.产品管理模块 产品管理模块提供了基本的增.删.改.查.导出.分页等的实现,用户可 ...