它基本上是一个检查登录名和密码的简单项目......
我做了所有可能的事情来弄清楚错误...但我无法以某种方式克服它...任何人都可以帮助并为我提供解决方案。
我有一个html文件名 Login.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>
的login.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 **中创建了一个文件夹 并放置了这两个文件** \ webetech \ 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 放在d目的地 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状态500 - 在第6行处理JSP页面/webtech/login.jsp时发生异常 < / p>
Plssss帮助
答案 0 :(得分:0)
我猜你可能得到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);
}
%>
如果这没有解决您的问题。请将您获得的例外情况发给我们
希望这会有所帮助!!