Java 实例化servlet类[org.ran.FristServlet]时出错
大家好,使用ApacheTomcat编写代码,我一直在了解上面的内容。我已经检查了Web.xml路径 而web.xml的内容我没有发现任何错误 下面是我的代码和错误消息 index.jsp 第一个servletJava 实例化servlet类[org.ran.FristServlet]时出错,java,jsp,tomcat,servlets,Java,Jsp,Tomcat,Servlets,大家好,使用ApacheTomcat编写代码,我一直在了解上面的内容。我已经检查了Web.xml路径 而web.xml的内容我没有发现任何错误 下面是我的代码和错误消息 index.jsp 第一个servlet public class FirstServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) thro
public class FirstServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
RequestDispatcher rd = req.getRequestDispatcher("index.jsp");
rd.forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String uid = req.getParameter("uid");
int ph = Integer.parseInt(req.getParameter("ph"));
HttpSession session = req.getSession();
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
if (uid != null && ph < 0) {
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306?user=root&password=Eagle&useSSL=false");
String sql = "select invno,phone from invnt.allinvoice where invno=? and phone=? ";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, uid);
pstmt.setInt(2, ph);
rs = pstmt.executeQuery();
String nid="";
int nph=0;
while (rs.next()) {
nid=rs.getString(1);
nph=rs.getInt(2);
}
if(uid==nid && ph==nph) {
RequestDispatcher rd = req.getRequestDispatcher("index.jsp");
rd.forward(req, resp);
}else{
RequestDispatcher rd = req.getRequestDispatcher("index.jsp");
rd.forward(req, resp);
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
} else {
RequestDispatcher rd = req.getRequestDispatcher("index.jsp");
rd.forward(req, resp);
}
}
首先从web.xml中删除所有servlet及其servletmapping标记,因为 您可以简单地使用注释,而不是编写部署描述符代码。 此外,您的项目结构受到干扰,您应该 将servlet放在src/main/java中并尝试运行它 还可以像下面那样注释您的类
@WebServlet(urlPatterns = "/fs", loadOnStartup = 1)
public class FirstServlet extends HttpServlet {
首先从web.xml中删除所有servlet及其servletmapping标记,因为 您可以简单地使用注释,而不是编写部署描述符代码。 此外,您的项目结构受到干扰,您应该 将servlet放在src/main/java中并尝试运行它 还可以像下面那样注释您的类
@WebServlet(urlPatterns = "/fs", loadOnStartup = 1)
public class FirstServlet extends HttpServlet {
我发现了一个空格
FirstServlet
,它不是第一个?@JoopEggen删除了空格,但同样的错误和它的FirstServletOk我只是将servlet从第一个重命名为第一个,并在每个地方对其进行了更改,但它的显示仍然像我没有注意到的那样编译,创建了.war部署。似乎管道在什么地方出了问题。也许其他人也有类似的经历。你可以停止tomcat,清理所有可能的目录,然后重试。我发现了一个空格FirstServlet
,它不是第一个?@JoopEggen删除了空格,但同样的错误和它的FirstServletOk我只是将servlet从第一个重命名为第一个,并在每一个地方都进行了更改,但它的显示仍然像我没有注意到的那样,创建。战争部署。似乎管道在什么地方出了问题。也许其他人也有类似的经历。您可以停止tomcat,清理所有可能的目录,然后重试。有时在创建筛选器或servlet时,类文件不会在eclipse的构建文件夹中生成。清理应用程序并构建一次,在上述路径中生成.class文件。在某些情况下,这会删除“找不到类”错误。您还可以尝试删除eclipse工作空间中的.metadata隐藏文件夹有时在创建筛选器或servlet时,不会在eclipse的生成文件夹中生成类文件。清理应用程序并生成一次,在上述路径中生成.class文件。在某些情况下,这会删除“找不到类”错误。您还可以尝试删除eclipse工作区中的.metadata隐藏文件夹