struts2 路径问题

问题描述

原来我的struts2配置如下,完全正常:<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>后来要开发webservice,加入了CXF,因为也要配置web.xml:<servlet><servlet-name>cxf</servlet-name><servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class></servlet><servlet-mapping><servlet-name>cxf</servlet-name><url-pattern>/services/*</url-pattern></servlet-mapping>这样发现因为struts2配置的是/*,所以会对所有操作拦截,也会拦截webservice的调用,所以把struts2的配置改成了以下:<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/action/*</url-pattern></filter-mapping>这样调用webservice正常了,但是struts2却出了问题,原来的action,除了在根目录下的文件中调用的可以正常之外,其它的全都不可以访问了,举个例子:在webcontext/cms下有一个epg.html文件,在它的文件中原来调用action,是直接写的:url=“epg.action“,但是现在改成了url="action/epg.action",在firefox中发现有错误,原来路径发生错误:本来应该是http://localhost:8080/project/action/epg.action,但是它却变成了http://localhost:8080/project/cms/action/epg.action,路径当然不一样了,但是我很不解,原来配置的/*为什么可以,这个不就是/action/*吗?就加了一个action,怎么和具体路径挂起来了,原来不是说action不和具体调用的文件路径挂钩吗?

解决方案

/action/* 这中写法不提倡 最好是/*.action 中间不要加 ‘/’因为 /在web里面有很多 路径上的含义。除非你完全弄懂 否则不要用 我的文章 http://chenchangqun11.iteye.com/blog/831530中有关于‘/’的讲解 希望可以帮到你另外 url 最好写绝对路径
解决方案二:
你的写法 和Struts2的命名空间挂上钩了 看看Struts2的命名空间吧 默认的命名空间是/

时间: 2024-10-17 11:33:43

struts2 路径问题的相关文章

struts2.0-Java struts2 的路径管理问题

问题描述 Java struts2 的路径管理问题 1 如果我想把这个xml配置文件放在一个包里~ 在web配置文件怎么配置 可以让这个xml被扫描到额~ 2 我想给我的jsp页面分类管理,把index.jsp和welcome.jsp 放在back下面,我的路径该如何写? <action name=""checkuser"" class=""com.admin.action.UserAction""> <re

Struts2导致eWebEditor上传不了文件问题

为了在项目中加入一个在线编辑器eWebEditor,苦试了两天,最令人头痛的是编辑器放在二级目录的问题,网上有什么飞鱼版的,吕海鹏版的,其实,按他们的做法去做,都是没成功的! 苦恼啊! 最近,在Blogjava上看到这一篇文章关于eWebEditor常见的问题及其个人使用心得 ,觉得写得很全面,就试着他的做法去做,弄了一个晚上,还是失败了! 后来,想起来以前做过的一个项目,导致了原来的系统上传不了文件的事!想想,应该是Struts2拦截了eWebEditor上传文件的功能吧! 原来的Struts

sprintsecurity-struts2 路径容错 和springSecurity权限路径验证冲突问题

问题描述 struts2 路径容错 和springSecurity权限路径验证冲突问题 struts2的路径具有按包容错机制.比如访问test.action 正确路径为(忽略namespace):http://ip:端口/项目名/test.action 但是struts2提供容错机制 则访问:http://http://ip:端口/项目名/包1/包2/包n/test.action 都可以正确访问到. 当springSecurity2.x和struts2配合使用时,在web.xml中springS

Struts2常量的配置

    struts.xml配置文件最大的作用就是配置Action和请求之间的对应关系,并配置逻辑视图名和物理视图资源之间的对应关系.除此之外,struts.xml文件还有一些额外的功能,例如Bean配置.配置常量.导入其他配置文件等.     Struts2除了可使用struts.xml文件来管理配置之外,还可使用struts.properties晚间来管理常量,该文件定义了struts2框架的大量常量,开发者可以通过改变这些常量来满足应用的需求.struts.properties文件是一个标

Spring框架+Struts2框架第一次整合

1:Spring框架和Struts2框架如何整合??? Spring 负责对象创建 Struts2 用Action处理请求 2:Spring与Struts2框架整合的关键点: 让struts2框架action对象的创建,交给Spring完成 3:Spring框架和Struts2框架开发步骤: (1):引入Struts2框架的相关jar包 (2):引入Spring框架的相关jar包 (3):引入spring-web支持的jar包 spring-web-3.2.5.RELEASE.jar    [去

再谈Struts2图片按钮标签的使用:图片根路径无法取得,使用传统方法

在前几天写了一个图片按钮的使用方法如下 <s:submit type="image" value="user_doDelete.action" label="删除指定用 户" src="myroot/images/btn/btn_delete.jpg" cssClass="button_image" onclick="return CheckSelectForDelete();"

Spring和Struts2配置文件不在默认路径下的web.xml配置方法

        希望越大,失望越大.朋友遇到struts2配置文件未在默认路径下的web.xml问题,我帮忙解决了很久,也没有从根本上解决.后来经过看struts2的api,仔细琢磨,最终解决了.给正在学习路上的朋友们一下帮助.         看看我项目中配置文件的原本位置         在看看我web.xml的配置         主要看看struts2的配置文件,为什么要加上struts-default.xml和struts-plugin.xml呢.看api的大致意思是说,默认情况下,这

struts2.0-struts2使用convention插件搜索映射页面路径问题

问题描述 struts2使用convention插件搜索映射页面路径问题 项目中使用了convention插件,网上百度了以下 发现映射的html包路径是这样配置的 constant name="struts.convention.result.path 然后映射的html文件名应该是这样格式的,比如请求的是HelloWorldAction!hello,那么返回的页面应该是hello_world_hello方法的返回值.html,但是看到项目中却直接映射到hello方法返回值.html里,不知道

Struts2学习笔记(2)-路径问题解决_java

在struts2中的路径问题是根据Action的路径而不是JSP的路径确定的,所以尽量不要使用相对路径,使用相对路径会让路径问题变得很繁琐很麻烦,有的时候一个细微的变动会导致你需要大的改动. 解决方法其实也很简单:即统一使用绝对路径. 在jsp中可以通过request.getContextRoot的方式获得webapp的绝对路径: 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEnco