java - 未找到 Servlet 请求的资源

标签 java jsp servlets

我有 index.jsp,从中我获取 servlet LoginServlet.java 的参数 servlet 位于 dao 包下。

<form name="LoginForm" method="post" action="dao/LoginServlet">

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>Chat</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>LoginServlet</display-name>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>dao.LoginServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>Login</url-pattern>
  </servlet-mapping>
</web-app>

当我运行 JSP 页面时,我可以看到它,但收到错误提示

The requested resource (dao/LoginServlet) is not available

谁能指出问题所在吗?

最佳答案

表单操作应指向 <url-pattern> 中指定的 servlet URL。其条目<servlet-mapping>web.xml 。您已声明 servlet 监听 Login ,但这实际上是无效的。它应该以斜线开头。

<url-pattern>/Login</url-pattern>

这样它就可以监听 http://localhost:8080/yourcontextname/Login

然后您可以让表单操作指向该 URL(假设 JSP 文件没有放置在您的 web 应用程序上下文的子文件夹中)。

<form action="Login" method="post">

另请参阅:

关于java - 未找到 Servlet 请求的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5527562/

相关文章:

java - 在另一个标签中使用 jsp fmt 标签

java - spring 内部是否使用 servlet?

servlets - 在 servlet 上下文监听器中获取 servlet 初始化参数

java - 如何检查某个 URL 是否可以从 PC 访问?

java - 加载 Jax-rs 资源时 SessionContext 丢失

java - 在 DocumentListener 中访问 JTextField

java - 需要重构以提高可测试性

java - 使用 jSTL 从子自定义标签访问父自定义标签属性结果

java - 如何从 springSessionRepositoryFilter 中排除资源?

javascript - 使用ajax刷新页面的一部分 - 不起作用