<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import = "java.sql.*" %> <!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=UTF-8"> <title>数据处理页面</title> </head> <body> <% String userName = new String(request.getParameter("userName").getBytes("ISO-8859-1"),"UTF-8"); String password = new String(request.getParameter("password").getBytes("ISO-8859-1"),"UTF-8"); Statement st = null; Connection con = null; ResultSet rs = null; if(userName.equals("")){ response.sendRedirect("login.jsp"); } try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String url = "jdbc:sqlserver://localhost:1433;DatabaseName=eims;"; con = DriverManager.getConnection(url, "sa", "2017212027"); st = con.createStatement(); String sql = "select * from sqlUser where userName = '"+userName+"'"; rs = st.executeQuery(sql); if(rs.next()){ String sql1 = "select * from sqlUser where password = '"+password+"'"; rs = st.executeQuery(sql1); if(rs.next()){ response.sendRedirect("main/main.jsp"); }else{ response.sendRedirect("login.jsp"); } } }catch(Exception e){ e.printStackTrace(); }finally{ rs.close(); st.close(); con.close(); } %> </body> </html>
时间: 2023-07-19 07:48:53 浏览: 330
2. 实验二 JSP语法的应用-参考代码.docx
这是一个使用JSP和JDBC连接数据库的登录验证页面。该页面首先获取用户提交的用户名和密码,然后通过JDBC连接数据库,查询用户表中是否存在该用户。如果存在该用户,则继续查询该用户的密码是否匹配。如果密码匹配,则重定向到主页面,否则重定向回登录页面。
在代码中,首先使用了request.getParameter()方法获取用户提交的用户名和密码,需要将其从ISO-8859-1编码转换为UTF-8编码。然后使用JDBC连接到SQL Server数据库,查询用户表中是否存在该用户,查询结果保存在ResultSet对象中。如果存在该用户,继续查询该用户的密码是否匹配,并根据查询结果进行重定向。
需要注意的是,该代码中存在一些问题,如SQL注入攻击漏洞和资源未正确释放等。建议使用预编译语句和try-with-resources语句块等方式来避免这些问题。
阅读全文