【发布时间】:2011-08-23 09:57:21
【问题描述】:
我正在尝试在 JSF 项目中创建一个 servlet。这是我创建的第一个 servlet,我使用 http://www.servletworld.com/servlet-tutorials/simple-servlet-example.html 作为示例来帮助我入门。
唯一的问题是我的文件夹结构有点不同,因为现有的 jsf。
我可以显示 form.html 页面,但是当我输入我的姓名并单击提交时,我得到一个 404。
我的文件夹结构如下(只显示相关文件)
catalog (my project in eclipse)
- src
- a
- b
- c
- catalog
- backing
- WelcomeServlet.java
- WebContent
- catalog
- form.html
- WEB-INF
- web.xml
- classes
- a
- b
- c
- catalog
- backing
- WelcomeServlet.class
这是 web.xml 中的 servlet 映射
<servlet>
<servlet-name>WelcomeServlet</servlet-name>
<servlet-class>a.b.c.catalog.backing.WelcomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WelcomeServlet</servlet-name>
<url-pattern>/WelcomeServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/form.html </welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/index.jsp</welcome-file>
<welcome-file>/index.html</welcome-file>
</welcome-file-list>
这个网址可以很好地打开form.html页面http://localhost:8080/catalog/catalog/form.html
当您单击提交按钮时,它会显示 url http://localhost:8080/catalog/catalog/WelcomeServlet 并给出 404 错误。我认为我的 web.xml 文件中存在问题,但我不确定,我无法弄清楚。
谢谢
【问题讨论】:
-
您是否在 web.xml 中声明了任何其他 servlet-mappings?
-
是的。我已经用 jsf 片段的其余 servlet-mappings 编辑了这个问题。