【问题标题】:Connecting to the database failed, HTTP status 500连接数据库失败,HTTP 状态 500
【发布时间】:2018-05-29 01:57:21
【问题描述】:

当我尝试运行转发到连接到数据库的 jsps 的索引时,jsps 出现错误,并且数据库名称和一切都很好。

它给我的错误是
HTTP 状态 500 – 内部服务器错误 org.apache.jasper.JasperException:在第 [25] 行处理 [/registration.jsp] 时发生异常

22: //它返回 com.mysql.jdbc.Driver.class。 23: 24:
25: java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/employeeexample", "root","1234"); 26: 语句 stmt = conn.createStatement(); 27:
28: // stmt.executeUpdate("insert into users2(user_id,password,fname,lname,email)" +"values"+"("+user+"','"+pwd+ "','"+fname+"' ,'"+lname+",'"+email+"')");

它在 LOGIN.JSP 上给了我同样的错误,但取而代之的是与连接直接对应的行号。

登录.JSP

REGISTRATION.JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Registration.jsp</title>
</head>
<body>
<%@ page import ="java.sql.*" %>
<%@ page import ="javax.sql.*" %>

<%
String user = request.getParameter("user");
//session.putValue("userid",user);
String pwd = request.getParameter("pwd");
String fname = request.getParameter("fname");
String lname = request.getParameter("lname");
String email= request.getParameter("email");

Class.forName("com.mysql.jdbc.Driver");
//it returns com.mysql.jdbc.Driver.class. 

 
   java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/employeeexample", "root","1234");
   Statement stmt = conn.createStatement();
  
  // stmt.executeUpdate("insert into users2(user_id,password,fname,lname,email)" +"values"+"("+user+"','"+pwd+ "','"+fname+"','"+lname+",'"+email+"')");
   stmt.executeUpdate
   ("insert into users2 values"+"('"+user+"','"+pwd+"','"+fname+"','"+lname+"','"+email+"')");
// stmt.executeUpdate("insert into users2(user_id,password) " + "values  ('"+user+"','"+pwd+"')");
  
   
  //stmt.executeUpdate("insert into users values("+pwd+ "','"+fname+"','"+lname+",'"+email+"')");
	ResultSet rs = stmt.executeQuery  ("SELECT * FROM users2 WHERE user_id ='"+ user + "'");
   
	
if(rs.next())
{
	
		out.println("welcome "+user);
	
}
   out.println(user+ " Registered");
  
%>

<a href = "Login.html"> Login</a>

<a href = "Registration.html"> Registration</a>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%@ page import ="java.sql.*" %>
<%@ page import ="javax.sql.*" %>
<% 
String user = request.getParameter("user");
//session.putValue("user",user);
String pwd = request.getParameter("pwd");

Class.forName("com.mysql.jdbc.Driver");
//it returns com.mysql.jdbc.Driver.class. 

 
   java.sql.Connection conn = 
   DriverManager.getConnection("jdbc:mysql://localhost:3306/employeeexample", "root","1234");
   Statement stmt = conn.createStatement();
   
   String query = "SELECT * FROM users2 WHERE user_id ='"+ user + "'";
	
	out.println("Query: "+query);
	ResultSet rs = stmt.executeQuery  (query);
	out.println("<br/><br/>Results");
	
	while(rs.next()){
		String s = rs.getString("user_id");
		out.println("<br/><br/>\t\t"+s);
	}

/*
	if(rs.next())
{
	if(rs.getString(2).equals(pwd)){
		out.println("welcome "+user);
		 out.println("SELECT * FROM users2 WHERE user_id ='"+ user + "'");
	}
	else{
		out.println("WRONG PW!!! TRY AGAIN");
		
	}
}
 */ 
   %>
   <a href ="index.html"> Home </a>
   

</body>
</html>

【问题讨论】:

    标签: java mysql jsp


    【解决方案1】:

    try catch 可能有助于了解问题所在:

    <%
    String user = request.getParameter("user");
    //session.putValue("userid",user);
    String pwd = request.getParameter("pwd");
    String fname = request.getParameter("fname");
    String lname = request.getParameter("lname");
    String email= request.getParameter("email");
    
        try {
           Class.forName("com.mysql.jdbc.Driver");
    
           java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/employeeexample", "root","1234");
    
           Statement stmt = conn.createStatement();
    
           // stmt.executeUpdate("insert into users2(user_id,password,fname,lname,email)" +"values"+"("+user+"','"+pwd+ "','"+fname+"','"+lname+",'"+email+"')");
           stmt.executeUpdate
           ("insert into users2 values"+"('"+user+"','"+pwd+"','"+fname+"','"+lname+"','"+email+"')");
           // stmt.executeUpdate("insert into users2(user_id,password) " + "values  ('"+user+"','"+pwd+"')");
    
    
           //stmt.executeUpdate("insert into users values("+pwd+ "','"+fname+"','"+lname+",'"+email+"')");
            ResultSet rs = stmt.executeQuery  ("SELECT * FROM users2 WHERE user_id ='"+ user + "'");
    
    
            if(rs.next())
            {
    
                    out.println("welcome "+user);
    
            }
            out.println(user+ " Registered");
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    
    %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多