Netbeans Servlet

时间:2015-12-17 22:46:36

标签: java jsp tomcat netbeans

从html / jsp登录到访问数据库的servlet时出错...

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
    com.DemoLogin.LoginServlet.service(LoginServlet.java:55)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

它在第55行试图调试它但它仍然无法在这里工作是我的代码

public class LoginServlet extends HttpServlet {
  Connection con;
  String user;
  String pass;

  @Override
  public void init(){
      try{
          Class.forName("com.mysql.jdbc.Driver");
          con = DriverManager.getConnection("jdbc:mysql:127.0.0.1","admin","");
      }catch(ClassNotFoundException | SQLException e){
          System.out.println("Error while loading connection"+ e);
      }           
  }

  @Override
  public void service(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
      PrintWriter out = response.getWriter();
      try{
          user=request.getParameter("uname");
          pass=request.getParameter("pwd");
          String q="select * from employee where empname='"+user+"'";
          Statement st=con.createStatement();
          ResultSet rs=st.executeQuery(q);
          String username=null;
          String password=null;

          while(rs.next()){
              username=rs.getString(2);
              password=rs.getString(3);
          }

第55行包含块 声明st = con.createStatement() 代码没有错误我不知道问题是什么

正如你所看到的,我从youtube上做了一些参考并做了一些调整,youtube中的很多视频都没有显示netbeans + wamp / ampache tomcat教程的工作样本所以我决定在这里寻求帮助,希望有人可以帮助我我正在为我的论文制作一个Web应用程序

1 个答案:

答案 0 :(得分:1)

如果要进行动态查询,则应使用PreparedStatement。

请尝试一下;

String sql = "select * from employee where empname=?";//question mark
user=request.getParameter("uname");
pass=request.getParameter("pwd");
try {
  PreparedStatement pStmt = con.prepareStatement(sql);
  pStmt.setString(1, user); // set first question mark
  ResultSet  rs = pStmt.executeQuery();
  String username=null;
  String password=null;
  if(rs.next()){
    username=rs.getString(2);
    password=rs.getString(3);
  }
}

另见Difference between Statement and PreparedStatement