当前位置: 首页 > 知识库问答 >
问题:

连接数据库失败,HTTP状态500

邢烨烨
2023-03-14

当我试图运行转发到连接到数据库的JSP的索引时,在JSP上出现了一个错误,数据库名称和一切都很好。

它给我的错误是
HTTP Status 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上给出了相同的错误,而是直接对应于连接的行号。

login.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>

共有1个答案

公冶元青
2023-03-14

一个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();
    }

%>
 类似资料:
  • 我是拉威尔的新手,目前正在拉威尔的一个项目中工作。 当我在我的文件中使用'php工匠服务'来检查它是否工作/localhost,我得到了这个错误: (1/1)HttpException数据库连接失败! 在应用中。php第1014行 应用时- 在ScriptMint中中止时('399','数据库连接失败!')。php第31行 在ScriptMint- 在管道上- at XSP保护- 在管道上- 在T

  • 我试图连接到我的mongo数据库在我的远程服务器: 但我有一个错误: MongoDB外壳版本:2.6.10连接到:xxx。xxx。xxx。xx:27017/测试2016-11-07T05:18:39.140 0000警告:无法连接到xxx。xxx。xxx。xx:27017,原因:错误号:111连接被拒绝2016-11-07T05:18:39.142 0000错误:无法连接到服务器xxx。xxx。x

  • 我在MySQL上有2个数据库。ge和GE_SC001。 我可以通过我的ASP.NET mvc应用程序在本地访问这两个。 Web.config null 稍后,当我在web服务器上部署应用程序,并尝试从本地机器访问它们时。我将server=localhost更改为机器的面向外部的IP地址。现在我只能访问一个GE。当我尝试访问第二个时,它会给我错误。 拒绝用户“root”@“对数据库”GE_SC001

  • 我刚刚从Ubuntu 10.04到12.04重新安装了我的操作系统,我在Ubuntu 10.04上使用了play 2.0.1,10.04上一切正常,但是现在同样的play 2.0.1把事情搞砸了,现在每次我运行命令服务器启动,但当我击中我的应用程序的索引页,它给我以下异常: 在参加这个论坛之前,我仔细检查了一下: mysql正在运行 配置文件有一些小改动:

  • 这是我的同意模式 这是同意控制器获取声明 这是声明后的同意 同意html thymeleaf表单是 提交表格后。我得到这个错误 HTTP状态500-请求处理失败;嵌套异常是org.thymeleaf.exceptions.TemplateProcessing异常:异常评估SpringEL表达式:"user.providers"(提供者/createOrUpdateConentForm 组织。spr

  • 问题内容: 我用记事本创建了一个项目,并且在mysql服务器数据库的cmd中运行良好。 但是在创建相同项目的jar文件之后,jar文件将无法连接到服务器数据库。所以不知道下一步该怎么做?从cmd或jar文件运行后,即使其他系统(仅安装了Java而不是mysql)也无法连接到服务器数据库。 每个系统是否都必须在其他系统上安装java和mysql才能运行?如何克服这样的问题。我想将其分发给用户,但是我