采用JSP+Servle+JDBCt技术实现用户的登录验证,其中实现数据库的连接及其查询操作在servlet中实现。
tijiao.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>提交页面</title>
</head>
<body>
<form action="Login/DBcheck" method="post">
登录名:<input type="text" name="username"/>
密 码:<input type="password" name="passWd"/><br>
<input type="submit" value="登录"/>
</form>
</body>
</html>
DBcheck.java:
package Login;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.*;
public class DBcheck extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
String name = req.getParameter("username");
String passwd = req.getParameter("passWd");
RequestDispatcher dis =null;
System.out.println(name+passwd);
try {
try {
String url = "jdbc:sqlserver://localhost:1433;DataBaseName=Login;integratedSecurity=true;";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection comm = DriverManager.getConnection(url);
String SQL = "SELECT * FROM [user] where(username=? and password =?)";//注意:表名一定要带[]
//结果集
PreparedStatement pstmt = comm.prepareStatement(SQL);
pstmt.setString(1,name);
pstmt.setString(2,passwd);
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
if(rs!=null){
rs.close();
}
if(pstmt!=null){
pstmt.close();
}
if(comm!=null){
comm.close();
}
// dis = req.getRequestDispatcher("http://localhost:8080/javaWeb_war_exploded/hello.jsp");
// dis.forward(req,resp);
resp.sendRedirect("http://localhost:8080/javaWeb_war_exploded/hello.jsp");
System.out.println("hah");
}else{
if(rs!=null){
rs.close();
}
if(pstmt!=null){
pstmt.close();
}
if(comm!=null){
comm.close();
}
// dis = req.getRequestDispatcher("http://localhost:8080/javaWeb_war_exploded/fruit.jsp");
// dis.forward(req,resp);
resp.sendRedirect("http://localhost:8080/javaWeb_war_exploded/error.jsp");
System.out.println("ggggggggg");
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
数据库:(user表)
登陆成功页面:
登陆失败页面: