Android+servlet+navicat:登录、注册页面 02(Java+navicat部分)
来源:我的学习笔记(这是Java和数据库模块)

项目结构:


第一个servlet:

代码:
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.util.userlogin;
/**
* Servlet implementation class AndroidLogin
*/
@WebServlet(name="androidlogin",urlPatterns = "/AndroidLogin")
public class AndroidLogin extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AndroidLogin() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
//设置客户端的解码方式为utf-8
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("UTF-8");
boolean b=false;
userlogin MyPOJO=new userlogin();//新建MyPOJO类的对象myPOJO
//根据标示名获取JSP文件中表单所包含的参数
String id=request.getParameter("id");
String password=request.getParameter("password");
String result = "";
b=MyPOJO.isuserlogin(id,password);//使用模型对账号和密码进行验证,返回一个boolean类型的对象
PrintWriter out = response.getWriter();//回应请求
if(b){ //如果验证结果为真,跳转至登录成功页面
result = "success";
}
else { //如果验证结果为假,跳转至登录失败页面
result = "fail";
}
out.write(result);
out.flush();
out.close();
System.out.println(result);
}
}

第二个servlet:

代码:
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.util.register;
/**
* Servlet implementation class androidregister
*/
@WebServlet(name = "androidregister",urlPatterns = "/androidregister")
public class androidregister extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public androidregister() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
//设置客户端的解码方式为utf-8
response.setContentType("text/html;charset=utf-8");
//
response.setCharacterEncoding("UTF-8");
boolean b = false;
register myPOJO=new register();
String id=request.getParameter("id");
String password=request.getParameter("password");
String email = request.getParameter("email");
String result = "";
b=myPOJO.userregister(id,password,email);//连接数据库,插入该用户信息
PrintWriter out = response.getWriter();//回应请求
if(b){
result = "success";
}
else{
result = "fail";
}
out.write(result);
out.flush();
out.close();
}
}


注意:我的MySQL是8.0以上的版本。这里的用户名和密码是自己的MySQL的用户名和密码
代码:
package com.util;
import java.sql.*;
public class register {
String drv = "com.mysql.cj.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/login?serverTimezone=UTC";
String usr = "root";
String pwd = "123456";
public boolean userregister(String id,String password,String email){
boolean b = false;
String sql = "select * from ulogin where uname='"+id+"'";
try{
Class.forName(drv);/* .newInstance() */
Connection conn = DriverManager.getConnection(url,usr,pwd);
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(sql);
if(!rs.next()){
sql = "insert into ulogin(uname,password,email) values('"+id+"','"+password+"','"+email+"')";
stm.execute(sql);
b = true;
}
rs.close();
stm.close();
conn.close();
}catch (Exception e) {
e.printStackTrace();
System.out.println(e);
}
if(b)
{
return true;
}
else return false;
}
}


代码:
package com.util;
import java.sql.*;
public class userlogin {
String drv = "com.mysql.cj.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/login?serverTimezone=UTC";
String usr = "root";
String pwd = "123456";
public boolean isuserlogin(String id,String password){
boolean isValid = false;
String sql="select * from ulogin where uname='"+id+"' and password='"+password+"'";
try{
Class.forName(drv);/* .newInstance() */
Connection conn = DriverManager.getConnection(url,usr,pwd);
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(sql);
if(rs.next()){
isValid = true;
}
rs.close();
stm.close();
conn.close();
}catch (Exception e) {
e.printStackTrace();
System.out.println(e);
}
if(isValid){//判断用户名以及密码是否与设定相符
return true;
}
else return false;
}
}
《《《《《《《《《《《《数据库设计》》》》》》》》》》》》》》》


