我正在设置一个简单的servlet来充当转发器。基本上,您可以使用此http://localhost:8080/WebProjectName/ServletName/foo/bar
而非此http://localhost:8080/WebProjectName/Main.jsp?par1=foo&par2=bar
然而,它似乎打破了我甚至不知道从哪里开始寻找的方式。当我转到http://localhost:8080/WebProjectName/ServletName
时,它会转发到页面,但是当我在末尾添加任何内容时,它不会加载任何样式或图像。只是页面的文本内容。
无论如何,这是我简单的servlet
protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
request.getRequestDispatcher( "/main.jsp" ).include( request, response ) ;
}
这是web xml块
<servlet>
<description></description>
<display-name>Main</display-name>
<servlet-name>Main</servlet-name>
<servlet-class>package.thing.Main</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Main</servlet-name>
<url-pattern>/ServletName/*</url-pattern>
</servlet-mapping>
当我甚至只添加一个斜杠时会发生什么,这会导致它只加载main.jsp的文本,而不是样式或任何图像?
这有效:http://localhost:8080/WebProjectName/ServletName
这打破了:http://localhost:8080/WebProjectName/ServletName/
这也打破了:http://localhost:8080/WebProjectName/ServletName/why
答案 0 :(得分:0)
如果您使用../css
,则需要放/your_uri/
这意味着如果你有WebContent/css/file.css
至:/your_uri/
css = href="../css/file.css"
至:/your_uri/?par=my_thing
css = href="../css/file.css
至:/your_uri
css = href="css/file.css"