我尝试在 jsp 中使用以下行调用名为 AddClass.java 的 Servlet
<form method="post" name="addClass" action="AddClass.do">
该类位于包 web 中,文件名为 AddClass.java
从另一个 jsp 中的这段代码调用了一个名为 SeedSearch 的类似 servlet(并且一切正常)。
<form method="post" name="seedSearch" action="SeedSearch">
我的 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>sempedia</display-name>
<servlet>
<servlet-name>SeedSearch</servlet-name>
<servlet-class>web.SeedSearch</servlet-class>
</servlet>
<servlet>
<servlet-name>AddClass</servlet-name>
<servlet-class>web.AddClass</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SeedSearch</servlet-name>
<url-pattern>/SeedSearch</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AddClass</servlet-name>
<url-pattern>/AddClass.do</url-pattern>
</servlet-mapping>
<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>
</web-app>
请帮忙。
最佳答案
web.xml
看起来不错,所以问题出在其他地方。
- 网址完全错误。必须根据当前请求 URL 或(如果有)HTML
<base>
从其绝对形式中提取相对 URL。标签。注意:前导斜杠将带您到域根目录!这不一定是正确的解决方案,正如其他人似乎认为的那样,特别是如果 webapp 有上下文路径。 web.xml
中的包/类名与实际的 Servlet 类不匹配(区分大小写!)- Servlet 类不在正在运行的 Web 项目的类路径中。至少,不在预期的位置。
- Servlet 类加载/初始化失败。阅读应用程序服务器日志以获取异常/错误详细信息。
web.xml
中实际上还有更多内容,例如另一个 servlet 吃*.do
并获得优先权。- 您没有运行具有特定
web.xml
的网络项目你认为你是。双重验证、重建、重新部署和重新启动。
关于java - 从表单调用 servlet,但 servlet 从未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2252136/