Tomcat 在@WebServlet(“Hello”)上出错有人知道吗?
如果有人可以,请提供帮助。我在使用eclipse在Tomcat Apache服务器上运行HTML文件时出错,我正在与您共享相关代码 WEB.XMLTomcat 在@WebServlet(“Hello”)上出错有人知道吗?,tomcat,servlets,annotations,Tomcat,Servlets,Annotations,如果有人可以,请提供帮助。我在使用eclipse在Tomcat Apache服务器上运行HTML文件时出错,我正在与您共享相关代码 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/j2ee" xmlns:web="http://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/j2ee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.4">
<servlet>
<servlet-name>Hi</servlet-name>
<servlet-class>Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
你好
你好
Servlet
/你好
Hello.java
import java.io.IOException;
import java.io.PrintWriter;
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 Hello
*/
@WebServlet("/Hello") -----------//Here getting an error
public class Hello extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Hello() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request,HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter pw=response.getWriter();
String email=request.getParameter("email");
String password=request.getParameter("password");
pw.println("<br>your email is "+email);
pw.println("<br>your password is "+password);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
}
import java.io.IOException;
导入java.io.PrintWriter;
导入javax.servlet.ServletException;
导入javax.servlet.annotation.WebServlet;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
/**
*Servlet实现类Hello
*/
@WebServlet(“/Hello”)----------------//这里得到一个错误
公共类Hello扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
/**
*@参见HttpServlet#HttpServlet()
*/
公众你好{
超级();
//TODO自动生成的构造函数存根
}
/**
*@参见HttpServlet#doGet(HttpServletRequest请求,HttpServletResponse响应)
*/
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)引发ServletException、IOException{
response.setContentType(“text/html”);
PrintWriter pw=response.getWriter();
字符串email=request.getParameter(“email”);
字符串密码=request.getParameter(“密码”);
pw.println(“您的电子邮件是”+电子邮件);
pw.println(
您的密码是“+password”);
}
/**
*@请参阅HttpServlet#doPost(HttpServletRequest请求,HttpServletResponse响应)
*/
}
登录表单
电子邮件Id*
密码*
忘记密码了吗。
记得我吗
*请输入下面显示的验证代码。
您的servlet名称在servlet映射中不同
请参阅下面提到的代码片段
<servlet>
<servlet-name>Hi</servlet-name>
<servlet-class>Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hi</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
你好
你好
你好
/你好
更多详细信息:在web.xml中定义servlet时,必须创建两件事:
<servlet>
<servlet-name>Hi</servlet-name> // name of your servlet in this context
<servlet-class>com.example.web.servlets.Hello</servlet-class> // your servlet class(should include package)
</servlet>
<servlet-mapping>
<servlet-name>Hi</servlet-name> // reference to your servlet name
<url-pattern>/hello</url-pattern> // mapped path
</servlet-mapping>
嗨//在此上下文中您的servlet的名称
com.example.web.servlets.Hello//您的servlet类(应该包括包)
您好//引用您的servlet名称
/你好//映射路径
我们可以从这个开始,告诉我们,这解决了您的问题。您的代码本身有错误……如Eclipse中所示,您可以分享这个错误吗?根据JEE标准,代码是正确的,只要类在给定路径下存在。cvc复杂类型。2.4.a:发现以元素“servlet name”开头的无效内容。“{”、“http://java.sun.com/xml/ns/j2ee”:display name,”,“j2ee”:context param,“,”中的一个代码正在工作,但没有解决错误:(您提到了包含完整包详细信息的servlet类吗?url模式也是/hello而不是/hello