`

struts2注解访问路径的总结

    博客分类:
  • java
 
阅读更多

以前在用struts2的注解配置时总是要在web.xml中配置一个初始化参数(actionPackages),最近发现不灵了,仔细研究了下发现即使不用在web.xml中配置也能成功,但时灵时不灵的,很是纠结,到今天算是把它给搞清楚了!

原来在新版本中的注解配置是要依赖一个struts2-convention-plugin-2.1.8.1.jar的包,而这个包会默认依次检索包名里含有struts,struts2,action,actions的包,然后它会对实现了Action接口以及类名以Action结尾的这些类,作为Action来进行处理。

 

它的映射规则是这样的,对于以Action结尾的的类,去掉Action,取剩下的部分,将所有的字母转换为小写,如果有驼峰式的写法,则用"-"连接符来连接不同的单词,这是此插件的默认方式。最终转换之后的就是请求地址,下面看一个例子说明:

com.han.action.OrderAction这个类按照上面的规则,那么它的请求地址就应该是去年后面的Action,前面的Order全部转换成小写,那么最后的结果就是 /order.action

 

但我们平时一般还有命名空间的问题,在这里面是如果你的包名里面在struts,sturts2,action,action2的后面还有其它的话,那么后面的部分就默认为命名空间,还是看例子:

com.han.action.other.OrderAction 按上面所说的那么这个最终的请求地址就为:/other/order.action

 

我们还经常使用驼峰命名法,而它的默认解析规则为"-"连接符来连接不同的单词,如:

com.han.action.UserOrderAction这个请求地址就为:/user-order.action

 

还有一种情况,如果你的包名里同时含有多个关键字,那么默认将按照我上面写的顺序来解析,还是来看例子:

com.han.struts.action.OrderAction这个里面就同时包含struts与action而默认struts的优先级高那么后面的action就作为普通的字符(默认也就是命名空间)来处理,所以请求地址就为:/action/order.action,而如果是:

com.han.action.struts.OrderAction (因为struts的优先级高)最终的结果就为:/order.action

 

那么如果我们不想按照它默认的这几种关键字来检索呢?有办法,那就是通过struts.xml的常量配置来修改它检索的关键字:

<constant name="struts.convention.package.locators" value="han" />

这样就让它默认的检索为包名里是否含有han来判定action了

struts2注解访问路径的总结

分享到:
评论

相关推荐

    struts2注解登陆

    Struts2注解登录是Java Web开发中一种简化配置的方式,它允许开发者在代码中直接定义控制器、动作和结果页面的映射,从而避免了传统方式下需要在`struts.xml`配置文件中的繁琐设置。这种做法提高了代码的可读性和可...

    struts2注解详解

    ### Struts2 注解详解 #### 一、Struts2 Convention 插件介绍与使用 在 Struts2 框架的发展过程中,随着版本的更新和技术的演进,其配置方式也发生了变化。从 Struts2.1 版本开始,官方不再推荐使用 Codebehind ...

    Struts2注解详细说明文档

    ### Struts2注解详细说明 #### 一、概述 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种构建企业级Java Web应用的解决方案。自Struts2.1版本开始,引入了一个重要的插件——Convention Plugin,该...

    struts2注解必须包

    "struts2注解必须包"指的是Struts2提供的一系列注解,它们对于简化Struts2应用的配置和增强其功能至关重要。 标题中的"struts2-convention-plugin-2.1.8.1.jar"是Struts2的约定插件(Convention Plugin)的一个特定...

    struts2注解配置Action及拦截器几种不同方式写法对应的路径指向.docx

    "Struts2 注解配置 Action 及拦截器几种不同方式写法对应的路径指向" Struts2 注解配置 Action 及拦截器是 Struts2 框架中的核心组件之一,负责处理用户请求并返回响应结果。下面,我们将通过详细的解释和示例代码...

    struts2注解配置全面解析

    此时,访问路径应为`/order.action`。 **例3**:使用特定的URL路径 ```java @ActionMapping(path = "/order", parameter = "id", namespace = "/") public class OrderAction implements Action { // ...省略其他...

    Struts2注解配置教程

    - @Action("/anno"):配置action的访问路径。 - @Results()、@ExceptionMappings():配置结果集和异常映射。 - @InterceptorRefs(...):引用拦截器配置。 例如,可以使用@InterceptorRef注解引用特定的拦截器,如...

    Struts2全注解方式实现文件上传与下载

    总结一下,本资源中涉及的Struts2全注解方式实现文件上传与下载的关键点包括: 1. 使用`@Action`和`@Result`注解进行Action配置。 2. `@Params`和`@Param`注解处理文件上传参数,定义文件属性并进行安全验证。 3. ...

    struts2注解小实例

    在这个小实例中,我们将深入探讨如何利用Struts2的注解来构建一个简洁而高效的Web应用。 首先,让我们了解什么是注解。在Java中,注解是一种元数据,它提供了一种安全的方法来向编译器、JVM或框架提供信息。Struts2...

    Struts2注解使用说明文档

    只需将`struts2-config-browser-plugin`的JAR文件添加到应用的`WEB-INF/lib`目录,然后在浏览器中访问特定URL(通常是`/config-browser`),就可以查看应用程序的配置信息。 在实际开发中,使用Convention插件可以...

    Struts2注解使用说明

    - `@Action`注解用于配置Action的基本信息,包括访问路径和结果视图。 - `@Result`注解定义了Action执行成功后的视图跳转。 #### 四、注解相关配置 `struts.convention.classes.reload`是一个重要的系统常量,其...

    spring和Struts2注解文档

    在IT领域,特别是Java开发框架中,Spring和Struts2都是极为重要的技术栈,它们各自通过注解(Annotation)机制提供了强大的功能扩展性和代码简洁性。以下是对Spring和Struts2注解的深入解析和使用指南。 ### Spring...

    Struts2+spring注解配置简介

    总结来说,Struts2+Spring的注解配置能够帮助开发者减少XML配置文件的繁琐,提高代码的可读性和可维护性。通过合理利用Spring的依赖注入和Struts2的Action注解,我们可以实现更简洁、高效的Web应用程序。在实际开发...

    struts2注解详细说明

    从struts2.1版本开始,Convention Plugin作为替换替换Codebehind Plugin来实现Struts2的零配置。• 包命名习惯来指定Action位置• 命名习惯制定结果(支持JSP,FreeMarker等)路径• 类名到URL的约定转换• 包名...

    struts2动态访问方式

    Struts2动态访问方式是Java Web开发中一种重要的设计模式,它允许开发者通过灵活的配置实现控制器的动态调度。在Struts2框架中,这种动态访问主要体现在Action类的实例化和方法调用上,极大地提高了应用的可扩展性...

    基于注解的struts2的简单工程

    在这个基于注解的Struts2简单工程中,我们将深入探讨如何使用注解来配置和控制应用程序的行为,而不是传统的XML配置文件。 在传统的Struts2配置中,我们通常会在`struts.xml`文件中定义Action类、结果类型和结果...

    struts2学习笔记总结

    本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...

    struts2 annotation 注解使用

    ### Struts2 Annotation 注解详解及使用方法 #### 一、Struts2 Convention 插件概述 从 Struts2.1 版本开始,官方不再推荐使用 Codebehind 插件,转而采用 Convention 插件来实现零配置。与 Codebehind 相比,...

    Spring注解配置中间层供Struts2使用

    总结起来,这个场景展示了如何通过Spring注解配置创建和管理中间层服务,以及如何在不依赖Struts2默认配置的情况下,使Struts2能够使用这些服务。通过这种方式,我们可以充分利用Spring的注解驱动和依赖注入能力,...

    struts2全部的jar包

    Struts2允许开发者使用XML或注解来配置Action、Result和其他元素。这使得配置更为灵活,减少了硬编码。 4. **拦截器(Interceptors)**: 拦截器是Struts2的一大特色,它们可以插入到Action调用链中,实现如日志...

Global site tag (gtag.js) - Google Analytics