简体   繁体   English

Java Servlet 类找不到 bean 类

[英]Java Servlet class can not find the bean class

I have created a servlet file 'LoginServlet.java' and a bean file 'SimpleBean.java' and placed them in a same folder.When i compiled the bean file it compiled successfully but when i compile the servlet file i get error 'cannot find symbol' and it indicates the bean class which i instantiated inside the servlet class.我创建了一个 servlet 文件“LoginServlet.java”和一个 bean 文件“SimpleBean.java”,并将它们放在同一个文件夹中。当我编译 bean 文件时,它编译成功,但是当我编译 servlet 文件时,出现错误“找不到”符号',它表示我在 servlet 类中实例化的 bean 类。

LoginServlet.java登录Servlet.java

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import java.util.*;

public class LoginServlet extends HttpServlet {

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        response.setContentType("text/writer");
        PrintWriter pw = response.getWriter();
        String name = request.getParameter("username");
        String password = request.getParameter("password");
        String code = request.getParameter("code");
        SimpleBean bean = new SimpleBean();
        //admin login
        if (name.equals("admin") && password.equals("admin")) {
            RequestDispatcher rd = request.getRequestDispatcher("adminservlet");
            rd.forward(request, response);
        } else { //general login
            try {
                Class.forName("com.mysql.jdbc.Driver");
                Connection con = DriverManager.getConnection("jdbc:mysql://localhost/" + code, "root", "");
                PreparedStatement pst = con.prepareStatement("SELECT * FROM demo_teacher WHERE name = ?");
                pst.setString(1, name);
                ResultSet rs = pst.executeQuery();
                if (rs.next()) {
                    HttpSession session = request.getSession(true);
                    session.setAttribute("user", name);
                    ArrayList rows = new ArrayList();
                    do {
                        List row = new ArrayList();
                        row.add(rs.getString("name"));
                        row.add(rs.getString("login_time"));
                        row.add(rs.getString("logout_time"));
                        rows.add(row);
                    } while (rs.next());
                    request.setAttribute("resultSet", rows);
                    RequestDispatcher rd = request.getRequestDispatcher("profile.jsp");
                    rd.forward(request, response);
                } else {
                    RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
                    rd.forward(request, response);
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }
}

SimpleBean.java SimpleBean.java

public class SimpleBean {

    String name;
    String loginTime;
    String logoutTime;

    public void setName(String n) {
        name = n;
    }

    public void setLoginTime(String t) {
        loginTime = t;
    }

    public void setLogoutTime(String t2) {
        logoutTime = t2;
    }

    public String getName() {
        return name;
    }

    public String getLoginTime() {
        return loginTime;
    }

    public String getLogoutTime() {
        return logoutTime;
    }
}

Command Prompt:命令提示符: 命令提示符

Since you are compiling from the command line, review your classpath.由于您是从命令行编译,因此请查看您的类路径。 Ensure it contains the directory where the .class files are being stored (in this case, it is the current directory):确保它包含存储 .class 文件的目录(在本例中,它是当前目录):

set CLASSPATH=.;%CLASSPATH%

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM