目录
一 、创建html页面
1.搭建框架
代码:
<body>
<form>
<div class="box">
<div class="boxleft">
<div class="boxleftone">
<a href="#">
<img src="loginimage/zhaopin1.webp" alt="">
<p>
找工作<br>
直接和老板谈
</p>
</a>
</div>
<div class="boxlefttwo">
<p></p>
<p>在线职位及时沟通</p>
</div>
<div class="boxleftthree">
<p></p>
<p>各大行业职位任你选</p>
</div>
</div>
<div class="boxright">
<ul>
<li> <a href="#">
<p>
私人
</p>
</a>
<a href="#">
<p>
公司
</p>
</a>
</li>
<li><input type="text" placeholder="请输入账号"></li>
<li>
<input type="text" placeholder="请输入密码">
</li>
<li>
<input type="submit" value="登录" style="width:100%;height:100%">
</li>
<li>
<a href="register.html">免费注册</a>
</li>
<li>登录即视为您同意<a href="#">《网页版服务协议》</a></li>
<li>
<p>客服电话 400-065-5799 工作时间:9:30-18:30</p>
</li>
</ul>
</div>
</div>
</form>
</body>
实现效果:
2.向servlet页面传参
<form action="servlet/LoginOne" id="form" autocomplete="off" method="post">
<li><input type="text" name="username" id="name" placeholder="请输入账号"></li>
<li><input type="text" name="password" id="pass" placeholder="请输入密码"></li>
二、实现servlet页面传数据进数据库与数据库数据对比
1.创建User类
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
2.从html页面获取参数
String username =request.getParameter("username");
String password = request.getParameter("password");
User user = new User();
user.setUsername(username);
user.setPassword(password);
3.与数据库对比
private Connection conn;
private PreparedStatement stmt;
private ResultSet rs = null;
public int getStudentinfo(User user){
try{
conn = ConnectionPool.getConn();
stmt = conn.prepareStatement("select * from user_data where username = ? and password = ?");
stmt.setString(1, user.getUsername());
stmt.setString(2, user.getPassword());
rs = stmt.executeQuery();
while(rs.next()){
return 1;
}
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
ConnectionPool.close(stmt, conn, rs);
}
return 0;
}
4.数据是否相同判断
代码:
Prepared_Userlogin_SQL pr = new Prepared_Userlogin_SQL();
int count = pr.getStudentinfo(user);
// username = URLEncoder.encode(username,"UTF-8");
if(count == 1 ) {
request.getSession().setAttribute("sId", password);
response.sendRedirect("../indes.html");
}else {
System.out.println(0);
request.getRequestDispatcher("../123").forward(request,response);
}
(1)账号密码相同
跳转进入indes.html页面
(2)账号或密码错误
跳转进入123页面
三、整体代码实现
Login.html
<body>
<form action="servlet/LoginOne" id="form" autocomplete="off" method="post">
<div class="box">
<div class="boxleft">
<div class="boxleftone">
<a href="#">
<img src="loginimage/zhaopin1.webp" alt="">
<p>
找工作<br>
直接和老板谈
</p>
</a>
</div>
<div class="boxlefttwo">
<p></p>
<p>在线职位及时沟通</p>
</div>
<div class="boxleftthree">
<p></p>
<p>各大行业职位任你选</p>
</div>
</div>
<div class="boxright">
<ul>
<li> <a href="#">
<p>
私人
</p>
</a>
<a href="#">
<p>
公司
</p>
</a>
</li>
<li><input type="text" name="username" id="name" placeholder="请输入账号"></li>
<li><input type="text" name="password" id="pass" placeholder="请输入密码"></li>
<li>
<input type="submit" value="登录" style="width:100%;height:100%">
</li>
<li>
<a href="register.html">免费注册</a>
</li>
<li>登录即视为您同意<a href="#">《网页版服务协议》</a></li>
<li>
<p>客服电话 400-065-5799 工作时间:9:30-18:30</p>
</li>
</ul>
</div>
</div>
</form>
</body>
User.java
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
LoginOne.java
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username =request.getParameter("username");
String password = request.getParameter("password");
User user = new User();
user.setUsername(username);
user.setPassword(password);
Prepared_Userlogin_SQL pr = new Prepared_Userlogin_SQL();
int count = pr.getStudentinfo(user);
// username = URLEncoder.encode(username,"UTF-8");
if(count == 1 ) {
request.getSession().setAttribute("sId", password);
response.sendRedirect("../indes.html");
}else {
System.out.println(0);
request.getRequestDispatcher("../123").forward(request,response);
}
}
Prepared_Userlogin_SQL.java
public class Prepared_Userlogin_SQL {
private Connection conn;
private PreparedStatement stmt;
private ResultSet rs = null;
public int getStudentinfo(User user){
try{
conn = ConnectionPool.getConn();
stmt = conn.prepareStatement("select * from user_data where username = ? and password = ?");
stmt.setString(1, user.getUsername());
stmt.setString(2, user.getPassword());
rs = stmt.executeQuery();
while(rs.next()){
return 1;
}
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
ConnectionPool.close(stmt, conn, rs);
}
return 0;
}
}