DWR中使用时,web.xml中设置 <url-pattern>/dwr/*</url-pattern>,但无法生效,请问是为啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DWR中使用时,web.xml中设置 <url-pattern>/dwr/*</url-pattern>,但无法生效,请问是为啥?相关的知识,希望对你有一定的参考价值。
不知道你具体是怎么用的,dwr中就配置web.xml中的文件是不够的,还有其他的几个步骤,你可以参考一下:1、导入dwr.jar包(这个一定知道的啦)
2、配置完web.xml的dwrservlet,就是你上面问到的
3、配置dwr.xml,这里有一个javaScript的属性让你命名,假如是xxx(我想这个你也知道配置)
4、在jsp页面中引入两个js文件(dwr/util.js和dwr/engine.js,这个可以在jar包中找到的,和dwr.xml在同级目录中的),加上自己刚刚在dwr.xml中写的那一个(src="dwr/interface/xxx.js")
5、在javascript函数中就可以直接调用java的方法,进行页面显示了,调用方法不要我说了吧
希望可以帮助你解决问题啊 参考技术A +dwr只是测试用 实际的访问页面不要加这个 参考技术B .........
如何在 web.xml 中设置资源的根路径
【中文标题】如何在 web.xml 中设置资源的根路径【英文标题】:how to set root path for resources in web.xml 【发布时间】:2013-03-23 03:09:56 【问题描述】:我的 web.xml 中有两个 servlet 映射 我想为以下 servlet 引用的资源设置根路径。我的目标是不必将整个路径放在我的 JSP 中。
示例:我不想放置 (resources/admin/images) 的图像路径,而是希望能够放置 (/images)
文件结构如下:
|_ admin
|_index.jsp
|_resources
|_images
|_views
|_dashboard.jsp (file in which I want to use the scoped file paths)
我有一个根范围,它是我的站点 (localhost.com) 的基础
我尝试搜索,但不确定要添加到我的 servlet 映射中的内容。下面是我的 web.xml
<display-name>cr</display-name>
<description>cr</description>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.xml</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext.xml
classpath:spring-security.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>cr</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/conf/spring-controllers.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cr</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<filter>
<filter-name>httpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>httpMethodFilter</filter-name>
<servlet-name>cr</servlet-name>
</filter-mapping>
<servlet>
<servlet-name>admin</servlet-name>
<jsp-file>/resources/admin/index.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>admin</servlet-name>
<url-pattern>/admin/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>15</session-timeout>
</session-config>
<!-- Spring Security -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>
org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
【问题讨论】:
你应该用更多细节来改进你的问题。例如,第二个 servlet 映射在哪里?并添加 java 标签,让更多人看到你的问题。 @DiogoSantana 我添加了整个 web.xml。 “我的目标是不必将整个路径放在我的 JSP 中”:哪个完整路径?你的意思是?你的问题到底是什么? @DiogoSantana 我添加了一些说明。 您想这样做是因为只有管理员才能访问这些资源? 【参考方案1】:如果您不想暴露完整的文件路径,请将 jsp 文件放在 WEB-INF 文件夹中。虽然不能直接访问WEB-INF文件夹中的文件,但是可以转发请求给它。
前锋应该是这样的:
RequestDispatcher view = req.getRequestDispatcher("/WEB-INF/admin/index.jsp");
view.forward(req, resp);
【讨论】:
以上是关于DWR中使用时,web.xml中设置 <url-pattern>/dwr/*</url-pattern>,但无法生效,请问是为啥?的主要内容,如果未能解决你的问题,请参考以下文章