我试图使用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>
请帮忙。
答案 0 :(得分:3)
web.xml
看起来很好,所以问题出在其他地方。
<base>
标记从其绝对格式中提取相对URL。小心:领先的斜杠将您带到域根!这是不必然是正确的解决方案,因为其他人似乎在想,尤其是如果webapp有上下文路径的话。web.xml
中的包/类名与实际的Servlet类不匹配(区分大小写!)web.xml
实际上有更多内容,例如另一个吃*.do
并获得优先权的servlet。web.xml
运行webproject。双重,重建,重新部署和重新启动。答案 1 :(得分:1)
您对SeedSearch的调用中没有前导'/'。
答案 2 :(得分:1)
也许你在其他地方映射“* .do”(struts可能是?),你的servlet永远不会被调用。
答案 3 :(得分:0)
2个servlet:KK是默认或正常方式; LL是一个自定义包。 在web.xml中,LL必须具有完全限定名称不仅用于类,还必须用于servlet名称。
从html调用每个servlet对于两者都是相同的: 要么 不需要任何资格