【问题标题】:Servlet page shows a 404 error, does not come up [duplicate]Servlet 页面显示 404 错误,没有出现 [重复]
【发布时间】:2016-08-12 12:03:52
【问题描述】:

我正在尝试通过 JavaMail API 使用表单发送邮件。我创建了一个简单的 jsp 页面,其中我的 servlet 类作为表单操作,一个 java 类作为模型。但是每次我运行 Jsp 页面进行测试时,它都会显示一个 404 页面,当我单击表单上的“提交”按钮而不是重定向到 servlet 时说请求的资源不可用。

我认为这可能是 servlet 映射问题,所以我在 NetBeans 中创建的 web.xml 文件中手动注册了 servlet,但它仍然无法正常工作。

servlet类中的代码是:

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
 version="3.1">
<display-name>mailservlet</display-name>
<description>

</description>

<servlet>
    <servlet-name>mailservlet</servlet-name>
    <servlet-class></servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>mailservlet</servlet-name>
    <url-pattern>/mailservlet</url-pattern>
</servlet-mapping>
<session-config>
    <session-timeout>
        30
    </session-timeout>
</session-config>

mailservlet 是 servlet 类的名称。

任何关于其他操作的建议将不胜感激。

【问题讨论】:

  • 在servlet标签中,我想你忘了写servlet类的全名。

标签: java jsp servlets web.xml


【解决方案1】:

你需要把类名和包放在servlet-class中,否则它不知道用什么类。例如:

<servlet-class>mypackage.myclass</servlet-class>

【讨论】:

    【解决方案2】:

    您需要添加 servlet 类的完全限定名称

    <servlet-class>com.sample.domain.test.MailServlet</servlet-class>
    

    然后你需要对这个资源进行发布或获取请求,例如

    <form action="/contextroot/mailservlet" method="get">
    

    在你的jsp页面中

    【讨论】:

      猜你喜欢
      • 2013-06-06
      • 2013-08-13
      • 2021-12-11
      • 1970-01-01
      • 2016-05-31
      • 2010-12-01
      • 1970-01-01
      • 2015-03-27
      相关资源
      最近更新 更多