Index.html
二.功能实现的Servlet代码
1.需要加载数据库首先要有工具类
public class SQLutil {
public static Connection getConn(){
try {
Class.forName("org.sqlite.JDBC");
Connection connection = DriverManager.getConnection("jdbc:sqlite:/d:/abc.db");
return connection;
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public static boolean login(String username,String pwd){
try {
Connection connection =getConn();
Statement statement = connection.createStatement();
String sql = "create table if not exists hehe(_id integer primary key, username varchar(30),pwd varchar(30))";
statement.executeUpdate(sql);
String selectSql = "select count(*) from hehe where username='"+username+"' and pwd='"+pwd+"'";
ResultSet set = statement.executeQuery(selectSql);
set.next();
// 有多少条满足条件的数据
int count = set.getInt(1);
if(count>0){
if(set!=null){
set.close();
}
if(statement!=null){
statement.close();
}
if(connection!=null){
connection.close();
}
return true;
}else{
if(set!=null){
set.close();
}
if(statement!=null){
statement.close();
}
if(connection!=null){
connection.close();
}
return false;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public static boolean regist(String username,String pwd){
try {
Connection connection =getConn();
Statement statement = connection.createStatement();
String sql = "create table if not exists hehe(_id integer primary key, username varchar(30),pwd varchar(30))";
statement.executeUpdate(sql);
String selectsql = "select count(*) from hehe where username='"+username+"'";
ResultSet set = statement.executeQuery(selectsql);
set.next();
int count = set.getInt(1);
if(count>0){
set.close();
statement.close();
connection.close();
return false;
}
// 进行注册的操作
String insertSql = "insert into hehe(username,pwd) values('"+username+"','"+pwd+"')";
int count2 = statement.executeUpdate(insertSql);
if(count2>0){
statement.close();
set.close();
connection.close();
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
}
LoginServlet.java
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LoginServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取 登陆传递的内容
String username = request.getParameter("username");
String pwd = request.getParameter("pwd");
// 7.0 需要转码
username = new String(username.getBytes("iso-8859-1"), "utf-8");
pwd = new String(pwd.getBytes("iso-8859-1"), "utf-8");
boolean flag = SQLutil.login(username, pwd);
response.setContentType("text/html;charset=utf-8");
PrintWriter writer =response.getWriter();
if(flag){
writer.write("登陆成功");
}else {
writer.write("登陆失败");
}
writer.close();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
// 获取 登陆传递的内容
String username = request.getParameter("username");
String pwd = request.getParameter("pwd");
// 7.0 需要转码
// username = new String(username.getBytes("iso-8859-1"), "utf-8");
// pwd = new String(pwd.getBytes("iso-8859-1"), "utf-8");
boolean flag = SQLutil.login(username, pwd);
System.out.println("用户名"+username+"密码"+pwd);
response.setContentType("text/html;charset=utf-8");
PrintWriter writer =response.getWriter();
if(flag){
writer.write("登陆成功");
}else {
writer.write("登陆失败");
}
writer.close();
}
}
}
RegistServlet.java
public class RegistServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public RegistServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取 登陆传递的内容
String username = request.getParameter("username");
String pwd = request.getParameter("pwd");
// 7.0 需要转码
username = new String(username.getBytes("iso-8859-1"), "utf-8");
pwd = new String(pwd.getBytes("iso-8859-1"), "utf-8");
boolean flag = SQLutil.regist(username, pwd);
response.setContentType("text/html;charset=utf-8");
PrintWriter writer =response.getWriter();
if(flag){
writer.write("注册成功");
}else {
writer.write("注册失败");
}
writer.close();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
}