我有一个配置为处理所有URL(*)的servlet :
<servlet>
<servlet-name>MyServ</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServ</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
我需要为URLS开头/static/,它应该从静态服务它们WEB-INF.也就是说,MyServ应该成为一切不过 /static.
我怎样才能做到这一点?
更新:澄清一下,我想要的是:
/*/- 转到MyServ
/static/dir/file.css- Jetty从/ dir /提供静态file.css.
我不确定要做什么的web.xml,或者放置静态文件的位置.
我尝试添加这个:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
但是,当我转到/static/URL时,我得到:
HTTP ERROR 404
Problem accessing /static/dir/file.css. Reason:
Not Found
Powered by Jetty://
Run Code Online (Sandbox Code Playgroud)
我不知道如果我的web.xml文件是错误的,或者如果我只是把文件在错误的地方(我已经下试过src/main/webapp和src/main/webapp/lib/META-INF/resources/)
我正在使用Jetty.我想避免任何其他层,如Nginx,Apache等.
为了赢得赏金,请确保您回答Jetty的作品.
背景
我正在开发一个应用程序(with Spring MVC),其基本路径为:
http://localhost:8080/myapplication/
Run Code Online (Sandbox Code Playgroud)
我有一个样式表/css/style.css,我试图absolute path在JSP中引用:
<link rel="stylesheet" href="/css/style.css" type="text/css" media="screen, projection">
Run Code Online (Sandbox Code Playgroud)
问题
样式表永远不会在浏览器中加载.当我通过浏览器的视图源功能关注样式表链接时,链接似乎是:
http://localhost:8080/css/style.css
Run Code Online (Sandbox Code Playgroud)
应该是这样的:
http://localhost:8080/myapplication/css/style.css
Run Code Online (Sandbox Code Playgroud)
我用来解决这个问题有html:rewrite与工作时的标签Struts.是否有任何等效的标签/技术Spring MVC?
谢谢你的时间.