1.首先要导入我们的sql数据包(ノ*・ω・)ノ
2.然后既然是一个登录界面首先我们就要先把text文本,password密码和提交按钮写入body中,如图
登录跳转我使用的是提交表单,而注册按钮我用的javascript实现跳转
function jump() {
window.location.href='register.jsp';
}
3.然后我们就需要先获取一下name和password,用的是request.getParameter()方法
然后呢我们需要判定一下条件,因为在本页面跳转的话会导致异常
Cannot invoke "String.equals(Object)" because "uname" is null
他会提示我们上面三个数据报空指针异常呢o(* ̄3 ̄)o
所以我使用了一个if语句让异常变成了提示信息
4.变量定义了,异常解决了就需要链接数据库啦(◆゜∀゜)b
但是在之前呢一定要try{}catch(Exception e){}防止异常的
然后就加载数据库啦,为了防止输入字符识别不出来,需要在后面加一个
useUnicode=true&characterEncoding=UTF-8"
如果到这里jsp突然报错那可能是你没有导入mysql驱动包
记得把驱动包放进来哦如果还报错的话可能是你没有安装tomcat,记得先搞定tomcat哦
5.然后就该搜索数据库内的账号和密码啦╮(╯▽╰)╭
用rs检索数据库中的账号和密码并且用变量把数值给获取,如果匹配到就跳转界面,如果失败就显示失败并且返回一下next.jsp是我创的跳转的一个界面,如果copy的话一定要先创建
6.关闭connection
作为热爱自然环保的年轻人们当然要节省节省内存啦(*/ω\*)
不要忘了把该关闭的关了防止内存泄漏啦然后一个新鲜出炉的登录界面就做好啦,以下是源码↓
<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.sql.*"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录界面</title>
</head>
<style>
#log{
width:300px;
height:300px;
padding-top:100px;
padding-left:50px;
background-color: pink;
margin-left: 500px;
margin-top: 100px;
}
</style>
<script type="text/javascript">
function jump() {
window.location.href='register.jsp';
}
</script>
<body>
<form action="" method="get">
<div id="log">
<h2>XX系统登录界面</h2>
用户名:<input type="text" name="uname"><br><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="点击登录">
<input type="button" value="注册" οnclick="jump()"><br>
<%
String uname=request.getParameter("uname");
String password=request.getParameter("password");
if(uname==null||uname.equals("")||password==null||password.equals("")){
out.print("请输入数据,并保证数据正常");
return;
}
try{
Connection con;
ResultSet rs;
Statement st;
PreparedStatement pStatement;
String url="jdbc:mysql://localhost:3306/text?useUnicode=true&characterEncoding=UTF-8";
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection(url,"root","123");//root是账号123是密码
st=con.createStatement();//创造句柄
String sql="select * from login1";//
rs=st.executeQuery(sql);
while(rs.next()){
String sqlname=rs.getString("user");
String sqlpassword=rs.getString("password");
if(uname.equals(sqlname)||password.equals(sqlpassword)){
//out.print("登录成功");
request.getRequestDispatcher("next.jsp").forward(request, response);
}else{
out.print("登录失败");
return;
}
}
con.close();
st.close();
rs.close();
}catch(Exception e){
e.printStackTrace();
}
%>
</div>
</form>
</body>
</html>