- 浏览: 7944584 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
一 struts 2.1中,用convention去代替了code-behind,
convention用法:
1、默认拦截action,actions,struts,struts2包名下面的Action为结尾或者继承ActionSupport的类。
当然也可以改 <constant name="struts.convention.package.locators" value="web"/> VALUE中指定
WEB目录及子目录下Action为结尾或者继承ActionSupport的类
,这样的话,不用再写struts.xml中的配置
比如在地址栏中输入hello.action
则去找com.xxxx.web包下HelloAction.java的对应的action类中的excute方法,
如果是hello!hello.action,则找 HelloAction.java中的hello方法
然后去 WEB-INF\content\hello.jsp 找对应的页面显示。
如果不想设定这个目录,则可以设置:
<constant name="struts.convention.result.path" value="/WEB-INF/jsp/"/>
2 如果访问的名字为 hello-world.action
则访问HelloWorld.action类(去掉-号) WEB-INF\content\hello-world.jsp
<constant name="struts.convention.action.name.separator" value="."/> 则可以改变多个单词之间的分隔符,
这样的话,可以用
hello.world.action去访问,同时web-inf\content\hello.world.jsp要改成相应的.号
3 @action的使用
@Action("/langsin")
public String mth1(){
System.out.println(" mth1 ok");
return SUCCESS;
}
同时在web-inf/jsP中配置langsin.jsp,则访问xxxx/langsin.action,会访问mth1方法,输出mth1 ok
如果有多个方法,多个action的注解,比如:
@Action("/langsin")
public String mth1(){
System.out.println(" mth1 ok");
return SUCCESS;
}
@Action("/iceman")
public String mth2(){
System.out.println(" mth2 ok");
return SUCCESS;
}
则可以xxxx/langsin!mth2.action访问mth2方法,输出System.out.println(" mth2 ok"),注意用的JSP
页为langsin.jsp,而不是用iceman.jsp
同理 xxx/iceman!mth1.action访问mth1方法,输出mth1 ok
4 如果src\com.web一个包,而在com.web下又有一个子目录user,比如src\com.web.user\UserAction.java,
则必须同时在web-inf\jsp\user\user.jsp,
然后访问时,用http://xxxx/user/user.action访问
命名空间:
@Action("/langsin/iceman")
public String mth3(){
System.out.println(" mth3 ok");
return SUCCESS;
}
则web-inf\jsp\langsin\iceman.jsp
5
@Actions({
@Action("/one"),
@Action("/two")
})
public String mth4(){
System.out.println(" mth4 ok");
return SUCCESS;
}
能同时映射多个,
6 返回值的映射
@Action("rs")
public String mth5(){
System.out.println(" mth5 ok");
return "error";
}
访问的是rs_error.jsp(action的名字-返回值的名字)
7 命名空间
@Namespace("/helloworld")
public class HelloWorld extends ActionSupport {
。。。。。
@Action("langsin")
public String mth1(){
System.out.println(" mth1 ok");
return SUCCESS;
}
要用http://xxx/helloworld/langsin.action访问,并且映射的是web-inf\jsp\helloworld目录下的langsin.jsp
而如果 @Action("/langsin"),则覆盖掉namespace了,不需要用namespace
直接http://xxx/langsin.action即可,但访问的是web-inf\jsp下的langsin.jsp
8 拦截器
@InterceptorRefs({
@InterceptorRef("otherInterceptor"),
@InterceptorRef("myInterceptorStack")
})
。。。。。。。。。。。。。。
9 <constant name="struts.convention.action.name.lowercase" value="false"/>
说明JSP用大写映射规则,比如Hello-World.action,映射到Hello-World.jsp ,区分大小写,一般该值取TRUE
convention用法:
1、默认拦截action,actions,struts,struts2包名下面的Action为结尾或者继承ActionSupport的类。
当然也可以改 <constant name="struts.convention.package.locators" value="web"/> VALUE中指定
WEB目录及子目录下Action为结尾或者继承ActionSupport的类
,这样的话,不用再写struts.xml中的配置
比如在地址栏中输入hello.action
则去找com.xxxx.web包下HelloAction.java的对应的action类中的excute方法,
如果是hello!hello.action,则找 HelloAction.java中的hello方法
然后去 WEB-INF\content\hello.jsp 找对应的页面显示。
如果不想设定这个目录,则可以设置:
<constant name="struts.convention.result.path" value="/WEB-INF/jsp/"/>
2 如果访问的名字为 hello-world.action
则访问HelloWorld.action类(去掉-号) WEB-INF\content\hello-world.jsp
<constant name="struts.convention.action.name.separator" value="."/> 则可以改变多个单词之间的分隔符,
这样的话,可以用
hello.world.action去访问,同时web-inf\content\hello.world.jsp要改成相应的.号
3 @action的使用
@Action("/langsin")
public String mth1(){
System.out.println(" mth1 ok");
return SUCCESS;
}
同时在web-inf/jsP中配置langsin.jsp,则访问xxxx/langsin.action,会访问mth1方法,输出mth1 ok
如果有多个方法,多个action的注解,比如:
@Action("/langsin")
public String mth1(){
System.out.println(" mth1 ok");
return SUCCESS;
}
@Action("/iceman")
public String mth2(){
System.out.println(" mth2 ok");
return SUCCESS;
}
则可以xxxx/langsin!mth2.action访问mth2方法,输出System.out.println(" mth2 ok"),注意用的JSP
页为langsin.jsp,而不是用iceman.jsp
同理 xxx/iceman!mth1.action访问mth1方法,输出mth1 ok
4 如果src\com.web一个包,而在com.web下又有一个子目录user,比如src\com.web.user\UserAction.java,
则必须同时在web-inf\jsp\user\user.jsp,
然后访问时,用http://xxxx/user/user.action访问
命名空间:
@Action("/langsin/iceman")
public String mth3(){
System.out.println(" mth3 ok");
return SUCCESS;
}
则web-inf\jsp\langsin\iceman.jsp
5
@Actions({
@Action("/one"),
@Action("/two")
})
public String mth4(){
System.out.println(" mth4 ok");
return SUCCESS;
}
能同时映射多个,
6 返回值的映射
@Action("rs")
public String mth5(){
System.out.println(" mth5 ok");
return "error";
}
访问的是rs_error.jsp(action的名字-返回值的名字)
7 命名空间
@Namespace("/helloworld")
public class HelloWorld extends ActionSupport {
。。。。。
@Action("langsin")
public String mth1(){
System.out.println(" mth1 ok");
return SUCCESS;
}
要用http://xxx/helloworld/langsin.action访问,并且映射的是web-inf\jsp\helloworld目录下的langsin.jsp
而如果 @Action("/langsin"),则覆盖掉namespace了,不需要用namespace
直接http://xxx/langsin.action即可,但访问的是web-inf\jsp下的langsin.jsp
8 拦截器
@InterceptorRefs({
@InterceptorRef("otherInterceptor"),
@InterceptorRef("myInterceptorStack")
})
。。。。。。。。。。。。。。
9 <constant name="struts.convention.action.name.lowercase" value="false"/>
说明JSP用大写映射规则,比如Hello-World.action,映射到Hello-World.jsp ,区分大小写,一般该值取TRUE
发表评论
-
复习:强迫线程顺序执行方式
2019-01-03 23:42 1579方法1: 三个线程,t1,t2,t3,如果一定要按顺序执行, ... -
(转)不错的前后端处理异常的方法
2019-01-02 23:16 2019前言 在 Web 开发中, 我们经常会需要处理各种异常, 这是 ... -
info q的极客时间大咖说等资料下载
2018-08-15 08:40 3473info q的极客时间大咖说等资料下载,还有不少思维导图 链 ... -
CXF 客户端超时时间设置(非Spring配置方式)
2018-07-03 22:38 2236import org.apache.cxf.endpoint. ... -
(转)synchronized关键字画像:正确打开方式
2018-06-14 09:25 490https://mp.weixin.qq.com/s/b3Sx ... -
CountDownLatch的例子
2018-06-13 14:10 691public class StatsDemo { ... -
两道面试题,带你解析Java类加载机制
2018-06-12 16:29 611https://mp.weixin.qq.com/s/YTa0 ... -
Spring中获取request的几种方法,及其线程安全性分析
2018-06-11 09:03 671https://mp.weixin.qq.com/s/KeFJ ... -
内部类小结
2018-06-06 10:25 438https://mp.weixin.qq.com/s/hErv ... -
JVM虚拟机小结1
2018-06-04 20:43 5441 jps -l //列出详细的类名和进程ID 2)jps ... -
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3101微软提供了不少命令行 ... -
(收藏)深入分析Java的序列化与反序列化
2018-05-30 15:21 617https://mp.weixin.qq.com/s/T2Bn ... -
apache common包中的序列化工具
2018-05-30 09:10 1844什么是序列化 我们的 ... -
JAVA8 JVM的变化: 元空间(Metaspace)
2018-05-24 22:30 967本文将会分享至今为至我收集的关于永久代(Permanent G ... -
(转)服务器性能指标(一)——负载(Load)分析及问题排查
2018-05-21 21:03 1363原创: Hollis Hollis 负载 ... -
(转)对象复用
2018-05-20 15:27 863public class Student { priv ... -
mapreduce中入门中要注意的几点
2018-05-06 08:59 674在 mapreduce中,比如有如下的词: I love b ... -
HDFS的基本操作
2018-05-02 21:47 941-mkdir 在HDFS创建目录 ... -
一个不错的开源工具类,专门用来解析日志头部的,好用
2018-05-02 20:00 772一个不错的开源工具类,专门用来解析日志头部的,好用。 http ... -
介绍个不错的RESTFUL MOCK的工具wiremock
2018-04-27 21:02 1907介绍个不错的RESTFUL MOCK的工具wiremock,地 ...
相关推荐
本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...
根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...
本课程笔记主要涵盖了Struts2的基础概念、核心功能及其工作流程。 首先,Struts2的处理流程是通过一系列的组件协作完成的,包括Filter Dispatcher(过滤器调度器)、Action、Interceptor(拦截器)和Result。当用户...
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
- 使用注解方式(适用于Struts2较新版本)。 - 在`struts.xml`或Action类中通过配置文件的方式进行校验规则的定义。 **3.2 校验规则示例** - **常见校验规则**:如必填字段验证、长度限制、格式验证等。 #### 四...
Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中扮演着重要的角色。本文将深入探讨Struts2的核心概念,包括Namespace、标签、Action以及它们在实际开发中的应用。 一、Namespace ...
1. **MVC模式**:Struts2基于Model-View-Controller(MVC)设计模式,它将业务逻辑(Model)、用户界面(View)和控制器(Controller)分离,使得代码结构清晰,易于维护。 2. **Action类**:在Struts2中,Action类...
本笔记主要涵盖了Struts2的基础知识,包括但不限于配置、Action、拦截器、结果类型以及异常处理等内容。 1. **Struts2框架简介** Struts2是Apache软件基金会的一个开源项目,它是Struts1的升级版,弥补了Struts1在...
以上就是Struts2学习笔记中涵盖的主要知识点,这些内容涵盖了从基础到进阶的应用,对于理解和掌握Struts2框架至关重要。尽管对于初学者来说可能有些复杂,但随着深入学习,你会发现Struts2的强大和实用性。
本笔记将深入探讨Struts2的核心概念、执行流程、类型转换、输入验证和国际化等方面。 **一、Struts2框架基础** Struts2是Apache软件基金会的一个开源项目,它是基于拦截器的MVC框架,继承了WebWork框架的优点。...
1. **建立Struts2工程** 创建一个Struts2工程通常涉及在集成开发环境中(如MyEclipse)创建一个新的Web项目,然后将必要的Struts2库添加到项目的`lib`目录,并配置`web.xml`以启用Struts2 Filter。 2. **Action的...
Struts2的核心是Action类,它是业务逻辑的载体,通过配置文件或注解与URL进行映射。拦截器使得我们可以插入各种处理逻辑,如日志、权限检查等,增强了框架的灵活性。 二、动态图表的原理 动态图表是基于数据生成的...
这份"struts2学习笔记和源码"资源是学习这个框架的理想材料,特别适合初学者。 一、Struts2框架基础 Struts2是Apache软件基金会下的一个项目,它是Struts1的升级版,弥补了Struts1的一些不足,如动作映射和拦截器等...
在本篇“Struts2学习笔记三”中,我们将聚焦于Struts2的类型转换这一核心特性。类型转换在处理用户提交的数据时非常关键,它允许Struts2自动将请求参数转换为Java对象的属性。 在Struts2中,类型转换主要由`...
Struts2是Apache组织维护的一个开源项目,它是Struts1的升级版本,在设计理念和技术实现上都有较大的改进。Struts2是一个基于MVC(Model-View-Controller)模式的Java Web应用框架,它能够帮助开发者快速构建出结构...