0

我正在尝试使用 eclipse 创建一个动态 Web 项目。这是我第一次使用 servlet 和 jsp。

我创建了一个页面,它工作正常。但是我无法完全理解web.xml页面。据我阅读和搜索,客户端使用<servlet-mapping>的 <url-pattern> 来访问您的 servlet。但是,无论我将<url-pattern>更改为什么,它似乎只能通过 servlet 类名访问 servlet。

  <display-name>CustomerManagment1</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
  <servlet-name>Welcome Page</servlet-name>
  <servlet-class>WelcomePage</servlet-class>
  </servlet>

  <servlet-mapping>
  <servlet-name>Welcome Page</servlet-name>
  <url-pattern>/welcomepage.jsp</url-pattern>
  </servlet-mapping>
</web-app>

我使用时浏览器抱怨http://host-name/CustomerManagment1/welcompage.jsp

但是,如果使用它http://host-name/CustomerManagment1/WelcomePage,它可以正常工作。我在这里想念什么?

4

1 回答 1

1

您是否编写过 JSP 或 servlet?我有点困惑如果您使用的是 JSP,那么 servlet 标记应该像

<servlet>
<description></description>
<display-name>WelcomePage</display-name>
<servlet-name>WelcomePage</servlet-name>
<jsp-file>/WelcomePage.jsp</jsp-file>
</servlet>

如果您使用的是 servlet ,那么您的标签就可以了。

如果是 url-pattern,您确定您没有为 WelcomPage servlet 类编写任何注释吗?如果您使用的是 Tomcat 7 或任何 java EE 6 容器,那么通过 eclipse 创建一个新的 servlet 将创建一个默认的 @WebServlet 注释并添加到 servlet 中,如下所示。

@WebServlet("/WelcomePage")
public class WelcomePage extends HttpServlet {}

这意味着您的 url 模式是从这里挑选出来的。

于 2013-06-10T07:22:39.313 回答