Servlet技术:数据库操作
创建一个数据表(id,username,password)
创建一个数据库对于的实体类 User.java 于包 cn.xtnotes,cn.pojo下
package cn.xtnotes.pojo;
public class User {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
}
创建一个UserDAO类 于 cn.xtnotes.DAO下 用于数据库操作
package cn.xtnotes.DAO;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import cn.xtnotes.lib.GetConnetion;
import cn.xtnotes.pojo.User;
public class UserDAO {
//数据库操作
public ArrayList UserFind(String sql) throws SQLException {
ArrayList<User> al=new ArrayList<User>();
Connection conn=GetConnetion.getConn();
Statement stmt=conn.createStatement();
System.out.println("查询中...");
System.out.println("查询语句:"+sql);
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
User u=new User();
//u.setId(rs.getInt("id"));
u.setUsername(rs.getString("username"));
u.setPassword(rs.getString("password"));
al.add(u);
}
conn.close();
stmt.close();
return al;
}
}
创建一个公共链接类 GetConnetion.java 用于链接数据库
package cn.xtnotes.DAO;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import cn.xtnotes.lib.GetConnetion;
import cn.xtnotes.pojo.User;
public class UserDAO {
//数据库操作
public ArrayList UserFind(String sql) throws SQLException {
ArrayList<User> al=new ArrayList<User>();
Connection conn=GetConnetion.getConn();
Statement stmt=conn.createStatement();
System.out.println("查询中...");
System.out.println("查询语句:"+sql);
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
User u=new User();
//u.setId(rs.getInt("id"));
u.setUsername(rs.getString("username"));
u.setPassword(rs.getString("password"));
al.add(u);
}
conn.close();
stmt.close();
return al;
}
}
创建一个UserService.java 用于具体业务操作 于cn.xtnotes.service 下
package cn.xtnotes.service;
import java.sql.SQLException;
import java.util.ArrayList;
import cn.xtnotes.DAO.UserDAO;
import cn.xtnotes.pojo.User;
//具体业务方法
public class UserService {
UserDAO ud=new UserDAO();
public User login(String name,String pwd) {
User u=null;
String sql="select * from user where username='"+name+"' and password='"+pwd+"'";
try {
ArrayList<User> userList=ud.UserFind(sql);
if(userList.size()>0) {
u=userList.get(0);
}
} catch (SQLException e) {
e.printStackTrace();
}
return u;
}
}
创建一个Servlet
package cn.xtnotes.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.xtnotes.pojo.User;
import cn.xtnotes.service.UserService;
public class Servlet extends HttpServlet {
UserService us=new UserService();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8"); //设置请求数据编码
response.setCharacterEncoding("utf-8");//设置响应数据编码
String uname=request.getParameter("uname");
String upwd=request.getParameter("upwd");
PrintWriter pw=response.getWriter();
if(uname!=null && upwd!=null) {
User u=us.login(uname,upwd);
if(u!=null) {
pw.print("用户"+u.getUsername()+"登录成功!");
}else {
pw.print("密码错误");
}
}else {
pw.print("不可为空");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
前端 html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>login</title>
</head>
<body>
<!-- action="" 提交的服务器地址 method:提交的方法 -->
<form action="http://127.0.0.1:8080/U8/Servlet" method="post">
用户名: <input type="text" name="uname">
密码: <input type="password" name="upwd">
<input type="submit">
</form>
</body>
</html>
阅读剩余
版权声明:
作者:Tin
链接:http://www.tinstu.com/478.html
文章版权归作者所有,未经允许请勿转载。
THE END