我在Eclipse
4.5中创建了一个动态网络项目,名为HelloServlet
并修改了web.xml
。我还在Eclipse中添加了Tomcat 8。我认为我做的一切都是正确的,但我仍然无法运行servlet。
在Project explorer中:/src/HelloServlet/HelloWorldServlet.java。
HelloWorldServlet.java:
package HelloServlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloWorldServlet
*/
@WebServlet("/HelloWorldServlet")
public class HelloWorldServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().println("Hello world.");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
Web.xml中:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>HelloServlet</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>HelloWorldServlet</servlet-name>
<servlet-class>HelloServlet.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/HelloWorldServlet</url-pattern>
</servlet-mapping>
</web-app>
有时,我class not found
没有/HelloWorldServlet
。我搜索并知道如何正确设置servlet-class
,但它仍然无法运行。
答案 0 :(得分:0)
似乎在较新的版本中(我不知道什么.Servlet或Eclipse?),我不必向web.xml添加任何内容。 @WebServlet("/HelloWorldServlet")
似乎已经足够了。我通过尝试发现了它。
但是我注意到了奇怪的行为:虽然在问题中修改了 web.xml,但我可以运行服务器,然后在浏览器中获取错误,如{{1} } Reuqested resource isn't available
和class not found
中的/HelloServlet
例外情况/HelloServlet/HelloWorldServlet
。重新启动计算机后,我无法运行服务器(我认为,因为修改了web.xml)。我不记得添加任何新内容。