【发布时间】:2014-11-01 04:15:14
【问题描述】:
我正在使用简单的 Java、Eclipse 和 Tomcat 7 开发动态 Web 应用程序。
在我进行以下更改之前,一切正常。
我最近添加了主页ServletHome.java和主页jspHome.jsp,并将servlet映射到web.xml中的URL/like
<servlet>
<display-name>Home</display-name>
<servlet-name>Home</servlet-name>
<servlet-class>my_proj.servlets.Home</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Home</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Servlet Home.java 看起来像:
public class Home extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("Servlet \"Home\" doGet working");
System.out.println("PathInfo: " + request.getRequestURL());
//If logged in, go to home page
request.getRequestDispatcher("/resources/jsp/home.jsp").forward(request, response);
//If not, go to login/register page
// TODO
}
}
Home.jsp 很长,但除了 CSS、图像等资源外,一切正常。页面没有加载它们。我用
<link href="/my_proj/resources/css/custom.css" rel="stylesheet">
原因
由于我在上面的doGet 方法中输入的代码,我可以看到查找CSS 页面的请求实际上以Home servlet 结束。例如,这是我在控制台中看到的一部分
Servlet "Home" doGet working
PathInfo: http://localhost:8080/my_proj/resources/css/custom.css
所以我的问题是,如何正确映射我的页面以免造成这种混乱?或者我如何将我的 CSS 与依赖这个映射系统分开?我不希望 web.xml 处理这些文件的映射。
【问题讨论】:
-
给出你的目录结构。当你调用 css 时,这似乎是一个路径问题。
标签: java css jsp servlets url-mapping