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>

 

 

阅读剩余
THE END