html - HTTP 状态 500 - 在第 6 行处理 JSP 页面/webtech/login.jsp 时发生异常

标签 html mysql jsp tomcat

它基本上是一个检查登录名和密码的简单项目...

我做了所有可能的事情来找出错误......但我无法以某种方式克服它......任何人都可以帮助并为我提供解决方案。

我有一个名为 Login.html 的 html 文件和一个名为 login.jsp

的 jsp 文件

mysql端口号是 3306 用户名和密码 sait

我的tomcat端口号。是 8801

Login.html

<html>
<head></head>
<body>
<form action="login.jsp" method="post">
User name :<input type="text" name="usr" />
password :<input type="password" name="pwd" />
<input type="submit" />
</form>
</body>
</html>

登录.jsp

<%@ page import ="java.sql.*" %>
<%@ page import ="javax.sql.*" %>
<%
String userid=request.getParameter("usr"); 
String pswd=request.getParameter("pwd"); 
Class.forName("com.mysql.jdbc.Driver"); 
java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sait","root","root"); 
Statement st= con.createStatement(); 
ResultSet rs=st.executeQuery("select * from login where username='"+userid+"'"); 
if(rs.next()) 
{ 
if(rs.getString("password").equals(pswd)) 
{ 
out.println("welcome"+userid); 

} 
else 
{ 
out.println("Invalid password try again"); 
} 
} 
%>

我在 C:\program files\apache software foundation\tomcat 7.0\webapps\ROOT\webtech 中创建了一个文件夹** 并放置这 2 个文件 **\webtech\Login.html\webtech\login.jsp

我打开 mysql 并创建了一个名为“sait”的数据库..然后使用命令“use sait;”将数据库更改为“sait”在 mysql 中。

然后我执行了下面的代码

mysql>create table login(username varchar(10),password varchar(10));
>insert into login values("sait","sait");
>select * from login;

全部执行成功..

然后我将 mysql-connector-java-5.1.26-bin 放在目标 C:\program files\apache software foundation\tomcat 7.0\lib\mysql-connector-java -5.1.26-bin.jar

现在如果我去

 http://localhost:8081/webtech/Login.html

我得到了登录页面..但是在我提交之后我得到了HTTP Status 500 - An exception occurred processing JSP page/webtech/login.jsp at line 6

请帮忙

最佳答案

我猜你可能会得到 NullpointerException 。所以只需打印

的值
String userid=request.getParameter("usr"); 
String pswd=request.getParameter("pwd"); 
out.print(userid + "" + pswd);

并检查一下。 同样强烈反对在jsp页面中使用java代码。尝试使用servlet建立JDBC

您还应该添加 try/catch 阻止您的代码以捕获抛出的任何异常,

<%@ page import ="java.sql.*" %>
<%@ page import ="javax.sql.*" %>
<%
String userid=request.getParameter("usr"); 
String pswd=request.getParameter("pwd");
out.print(userid + "" + pswd); 
try
{
Class.forName("com.mysql.jdbc.Driver"); 
java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sait","root","root"); 
Statement st= con.createStatement(); 
ResultSet rs=st.executeQuery("select * from login where username='"+userid+"'"); 
while(rs.next()) 
{ 
if(rs.getString("password").equals(pswd)) 
{ 
out.println("welcome"+userid);
} 
else 
{ 
out.println("Invalid password try again"); 
} 
}}
catch(Exception e) 
{
out.print("Exception is " + e);
}
%>

如果这没有解决您的问题。请将您遇到的异常(exception)情况发给我们

希望对您有所帮助!!

关于html - HTTP 状态 500 - 在第 6 行处理 JSP 页面/webtech/login.jsp 时发生异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22956472/

相关文章:

php - 使用 laravel fluent query builder 从多个表中选择

php - 如何将生成的 MySQL 行存储到数组中?

html - 有没有像 JSP 压缩器这样的东西? (或开源 HTML 压缩器)

javascript - 在多次上传中,所有图像都附加到最后一个容器 div

javascript - 如何将粘性 div 保持在固定标题下方

html - 填充在 iOS 上似乎无法正确显示

mysql - 我需要帮助在 MySQL 中编写求和查询

java - JSP 标记文件能否访问其调用 JSP 的 PageContext?

css - 从 Spring MVC 访问 CSS

html - 用 jQuery 砌筑不均匀网格