文档章节

struts学习笔记(1)基本配置

夜店小新新
 夜店小新新
发布于 2014/08/14 23:53
字数 754
阅读 74
收藏 5

Struts2  学习笔记

吃透最简单的Helloword实例之后 ,接着再一一去研究 请求参数的接收与发送,参数的封闭,校验,result,struts2标签库这些最为核心的东西(其实这些也正是最常用的东西),经过这样的学习,应该领会了一些Struts2的流程,接着再去阅读相关文档去了解Strust2的拦截器设计思想(这叫先使用再体会的学习方法),接着可以做一些针对于自定义拦截器的实现来深化对Struts2的认识。此时,你已经达到企业中使用的级别了,接下来就可以玩一些SSh整合

一、基本配置
 1.web.xml配置

 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

2.struts.xml
 默认放在src文件下

 <!--package 类似java的包:用区分不同的请求
  name:给包取的名字  (name属性为每个package设置一个唯一的标识,这个标识在所有的package定义中不能重复)
  
  namespace:与请求地址的对应,对于action配置进行逻辑划分
   namespace="/"  --http://localhost:8080/xxx/分部工程名/下的所有请求
   namespace="/yy"  --http://localhost:8080/xxx/yy分部工程名/下的所有请求
   
  extends: 通过使用extends,你可以指定本package继承另外一个package的所有的配置
 --!>
 <package name="my" namespace="/" extends="struts-default">
  <action name="helloworld" >
   <result>/index.jsp</result>
  </action>
 </package>


 访问URL:localhost:8080/helloworld


 3.action类
  属性:name:是要处理的请求名
  class:请求名所有对应的处理类
  method:请求名所有对应的处理类中的方法(默认为excute)

  <action name="hello" calss="xxx.xxx.xxxxaction" method="execute">

  Struts2 中有3中方式
   a.普通java类,定义execute()方法
   public class xxxAction
   b.实现Action接口,重写execute()方法
   public class xxxAction implements  Action
   c.继承java类ActionSupport
   public class xxxAction extentds ActionSupport

   for example:

  public class MyDefineAction extends ActionSupport{
    @Override
    public String execute() throws Exception {
     return "success";//我们必须返回一个字符串给struts.xml识别
    }
   }

   对应struts2.xml 文件

<package name="my" namespace="/" extends="struts-default" method="execte">
    <action name="hello" class="xxx.xxx.xxx.MyDefineAction>
     <result name="success">/index.jsp</result>
    </action>
   </package>

 我们相应的可以在action中创建不同的method 实现不同的返回,到达不同的.jsp

 不同action:name对应不同的method 
  三种方式: 配置struts.xml中的 action
  a. 普通配置   域名为 http://localhost:8080/Test/register(login)

<package name="my" namespace="/" extends="struts-default">
    <action name="login"  class="com.yc.action.UserAction" method="login">
     <result name="success">login.jsp</result>
    </action>
    <action name="register" class="com.yc.action.UserAction" method="register">
     <result name="success">register.jsp</result>
    </action>
   </package>

  b. 动态配置  url为:  http://localhost:8080/Test/user!register 

<!-- 动态配置 必要设置: struts.enable.DynamicMethodInvocation  value="true"--> 
   <action name="user" class="com.yc.action.UserAction02">
     <result name="login_success">/login.jsp</result>  
     <result name="register_success">/register.jsp</result>
   </action>

  c. 约定配置 采用通配符 url为:  http://localhost:8080/Test/user_register 

 <action name="*_*" class="com.yc.action.{1}Action" method="{2}">
    <result name="success">/{2}.jsp</result>
   </action>


  d.当在对应的action中没有匹配对result,那就到global-result去匹配

  <global-results>
   <result name="fail">/index.jsp</result>
  </global-results>

 <!--注意:global-results这个标签只能放在package中action的前面-->

 

 

 

 

 

 

 

 

© 著作权归作者所有

夜店小新新
粉丝 1
博文 4
码字总数 4418
作品 0
朝阳
程序员
私信 提问
day37_Spring学习笔记_05_CRM_01

一、CRM 客户关系管理系统 CRM : custom releation manager 客户关系管理系统,用于维护客户和公司之间关系。 我们要做的是:学校 和 大家 之间关系。 完成功能: 员工管理: 1、登录(登录拦...

黑泽明军
2018/08/15
0
0
常用的 default.properties 文件 + 常用的 struts-default.xml 文件 + 常用的 struts-plugin.xml 文件 + 常用的 struts.xml 文件 + 常用的 struts.properties文件 + 常用的 web.xml 文件

常用的 default.properties 文件,所在位置:struts-2.3.15.3-allstruts-2.3.15.3appsstruts2-blankWEB-INFlibstruts2-core-2.3.15.3.jarorgapachestruts2default.properties $Id: default.p......

黑泽明军
2018/06/22
0
0
Struts 学习笔记之Action

下面是Struts中的一些常用Action如DispatchAction/LookupDispatchAction/MappingDispatchAction/ForwardAction/IncludeAction的总结 1 .DispatchAction extends BaseAction 一般的Action如<......

xiahuawuyu
2012/05/17
50
0
struts2学习笔记之spring整合

一、整合步骤: 1 配置classpath,将struts-spring-plugin.jar和spring.jar添加进去 如果少了spring.jar将报错,提示找不到相关类定义。 2 在web.xml中配置spring contextConfigLocationcla...

美码师
2011/10/15
0
0
day35_Spring学习笔记_03

一、事务管理 1.1、回顾事务 事务:一组业务操作ABCD,要么全部成功,要么全部不成功。 特性:ACID 原子性:整体 一致性:完成 隔离性:并发 持久性:结果 隔离问题: 脏读:一个事务读到另一...

黑泽明军
2018/08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

安装lombok 与阿里巴巴扫描规范 与取消扫描

一、安装lombok 1、先下载lombok的jar 放到eclipse的安装路径 2、打开 eclipse.ini文件 添加引入lombok的jar 我这里是这样的: -javaagent:D:\Program Files\eclipse\eclipse\lombok.jar 3、...

jason_kiss
12分钟前
2
0
基于 QML的 串口调试助手

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_38416696/article/details/80926090 Qt版本 5.10.0...

shzwork
20分钟前
1
0
Python 开发植物大战僵尸游戏

作者:楷楷 链接:https://segmentfault.com/a/1190000019418065 开发思路 完整项目地址: https://github.com/371854496/pygame 更多好玩有趣的python,尽在公众号「Python专栏」,后台回复...

上海小胖
今天
14
0
JVM优化之逃逸分析与分配消除

要了解逃逸分析背后的基本原理,我们先来看下这段有问题的C代码——当然这个是没法用Java来写的: 这段C代码在栈上创建了一个int类型的变量,然后把它的指针作为函数的返回值返回了。这样做是...

onedotdot
今天
3
0
最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部