struts2中css,js等资源无效 非路径问题(新手问题)

一个小小的Strust2例子

然后发现css,js,图片用不了,debugger下发现无法访问这些资源(404错误),妈的,那个例子明明可以的,起码从书上的图片看。

发现是web.xml中的过滤器的问题,代码是这样的:

web.xml


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<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>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

红色部分的代码过滤了所有的访问。这样不就是连css,js等资源的访问也过滤掉了吗?但是那个书上的例子是这样写的,大家都是这样写的。为毛!!。妈蛋。

strust.xml文件只是配个一个action。

滚上github看看完整的项目,找个好久,发现一个类似的项目应用了Strust2,也应用了css等资源文件。然后web.xml文件跟我的一模一样,但是注意到Strust.xml文件有一个特别之处。就是以下这一行:


<constant name="struts.action.excludePattern" value="/static/.*?" /><!-- default locale -->

static文件就是放置css,js,图片等资源的地方,代码旁边也注释到。

妈蛋原来是这样。

在Strust.xml中的<strust>标签下加上这一行代码就好了,(static换成根文件夹下放在资源文件的文件夹)

现在位于这个文件架下的所有资源文件都可以访问了!

不过记得引用路径最好是绝对路径。这个已经是老问题了。

时间: 2024-12-22 18:00:33

struts2中css,js等资源无效 非路径问题(新手问题)的相关文章

struts2中css,js等资源无效 非路径问题(新手问题)揍琢子抓抓仔

今天有幸被召回母校给即将毕业的学弟学妹们讲我这两年的工作史,看了下母校没啥特别的变化,就是寝室都安了空调,学妹们都非常漂亮而已..好了不扯蛋了,说下今天的主题吧.这些天我在深度定制语法高亮功能的同时发现了博客园提供的一些有意思的函数,甚至有几个博客园都没用到,我也不知道怎么才能触发那些功能..打开这个js就可以看到很多好用的东西了,虽然写的不怎么样,但是至少有这些功能. ps: 推荐安装一个代码格式化的插件,否则一坨看着蛋疼.比如第一个就是 log,方便调试. http://www.orion3

javascript中外部js文件取得自身完整路径得办法

原文:javascript中外部js文件取得自身完整路径得办法 有时候我们需要引入一个外部js文件,这个js文件又需要用到自己的路径或者是所在的目录,别问怎么又这么变态的需求,开发做久了各种奇葩需求也就有了! 有人第一时间想到的是location.href,可是哥哥,那个引用页面的路径啊.比如a.html: <html> <script src="/b/c.js"></script> </html> 这样的话我们用location.hre

SpringMVC中css,js,图片等静态资源被拦截的解决办法

一.静态资源的存放路径 css,js,图片等静态资源存放在项目的路径必须为 二.html.jsp导入静态资源文件 html.jsp页面中的导入静态资源文件: js: css: 图片: 二.web.xml和SpringMVC配置文件中的配置 方法一: web.xml中的配置: SpringMVC配置文件中的配置: 方法二: web.xml中的配置: 与之对应的SpringMVC配置文件中不用特别配置 方法三: web.xml中的配置: 或者 与之对应的SpringMVC配置文件中不用再添加特殊配置

对于HTML页面中CSS, JS, HTML的加载与执行过程的简单分析

最近在研究HTML页面中JavaScript的执行顺序问题.在JavaScript中,定义一个方法或者函数有很多方式,最常见的有2中,function语句式与函数直接量方式. 对于function语句式,解释器会优先解释.即加载了这个js文件后,会扫描一下所有的js代码,然后把该优先执行的东西先执行了,然后再从上到下按顺序执行.所以,定义的代码可以在执行的代码后边.就跟C#中的方法定义一样.解释器已经记住了这个方法,知道在内存中的哪里,用的时候直接去取就行了. C#语言是,对象中的属性与方法具有

关于Yii2中CSS,JS文件的引入心得

1.在view中 use yii\helpers\Html; <?=Html::jsFile('@web/***/js/***.js')?>//这里***代表你的目录名或者文件名 <?=Html::cssFile('@web/***/css/***.css')?>//***同上 2.布局 public $layout = 'layout';//在类中定义一个变量,名为$layout的php文件 <?php echo $content; ?> 3.跳转链接 use yii

css,js移动资源

随着移动市场的逐步扩大及相关技术的日趋完善,对前端开发提出了新的岗位要求,在继承前人成果的基础上需要在新的历史条件下有新的创新.移动端的开发,虽然没有IE6众多问题的折磨,但是多平台,多设备的兼容,也是如恶梦般存在.不过话说回来,着重还是考验基础的css 2.x的功底,只要基础扎实了,应付移动端的兼容也是手到擒来.当然css3.x, html5新增加的标签还是需要学习,具体的推荐: 一. css 1). 响应式web设计 http://book.douban.com/subject/203903

Spring MVC程序中怎么得到静态资源文件css,js,图片文件的路径问题

问题描述 在用springmvc开发应用程序的时候.对于像我一样的初学者,而且还是自学的人,有一个很头疼的问题.那就是数据都已经查出来了,但是页面的样式仍然十分简陋,加载不了css.js,图片等资源文件,如果你输入某个css的文件在浏览器中得到的直接是404错误(例如http://localhost:8080/iMax_view/css/classify.css),表示路径肯定没有错,这是因为你在web.xml中配置的springservlet ]<!-- springmvc前端控制器,rest

Struts2(四):在Action中如何访问Web资源

1.什么WEB资源? HttpServletRequest,HttpServletRespone,HttpApplication,ServletContext,HttpSession等原生ServletAPI. 2.在Struts2中为什么要访问WEB资源? B/S应用中的Controller必然会有场景需要访问WEB资源:向域对象中读写属性,读取Cookie,获取realPath等. 3.在Struts2中如何访问WEB资源? a)和ServletAPI解耦的方式:只能有限的ServletAP

修改struts2中UI标签的&lt;s:a&gt;进行权限控制

最近在做学习S2SH时,有一个模块式权限控制,就是对用户的操作存在权限分级操作,即不是所有的用户都可以访问全部数据.下面说一下这次我们的做法. 1.所谓权限控制,就是对URL地址的控制,用户角色中不存在该权限,那么该url地址对用户是不起反应的(用户点击无反应),最好是不可见的.整体的思路就是这样,通过对UI标签的控制而达到对权限的控制. 2.我们使用的是struts2中的a标签,而非使用简单的html中a标签.原因是在<s:a>标签的源码中存在doStartTag()和doEndTag()方