Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 实例化servlet类[org.ran.FristServlet]时出错_Java_Jsp_Tomcat_Servlets - Fatal编程技术网

Java 实例化servlet类[org.ran.FristServlet]时出错

Java 实例化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

大家好,使用ApacheTomcat编写代码,我一直在了解上面的内容。我已经检查了Web.xml路径

而web.xml的内容我没有发现任何错误

下面是我的代码和错误消息

index.jsp

第一个servlet

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隐藏文件夹