纳新登陆
package priv.ze.javaweb.naxin.servlet;
import priv.ze.javaweb.naxin.domain.Student;
import priv.ze.javaweb.naxin.service.RegisterService;
import priv.ze.javaweb.naxin.registerSystem.XUPTVerify;
import priv.ze.javaweb.utils.beanUtils;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.Map;
public class Register extends HttpServlet{
private RegisterService rs=new RegisterService();
//得到业务层的类
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.setHeader("Access-Control-Allow-Origin", req.getHeader("Origin"));
resp.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
resp.setHeader("Access-Control-Max-Age", "3600");
resp.setHeader("Access-Control-Allow-Headers", "x-requested-with");
resp.setHeader("Access-Control-Allow-Credentials","true"); //是否支持cookie跨域
Map map = req.getParameterMap();
//将数据保存到map中
Student student = beanUtils.tobean(map,Student.class);
System.out.println(student);
//将map转换为javabean
XUPTVerify xuptVerify=new XUPTVerify();
PrintWriter pw=resp.getWriter();
try {
Map map1 = xuptVerify.verify(student.getStuID(),student.getPwd());
if(map1==null){
pw.print(0);
System.out.println("登陆失败");
return;
//返回0表示登陆失败
}
//将stuID加到session域之中
//判断是否为第一次登陆
if( rs.register(student.getStuID())){
resp.getWriter().print(1);
HttpSession session=req.getSession();
session.setAttribute("stuID",student.getStuID());
System.out.println(session.getId());
Enumeration enumeration=session.getAttributeNames();
while(enumeration.hasMoreElements()){
System.out.println(enumeration.nextElement());
}
System.out.println("第一次登陆");
//返回1表示登陆成功且为第一次登陆(第一次登陆表示未报名注册)
}else{
resp.getWriter().print(2);
System.out.println("第二次登陆");
//如果返回2表示不为第一次登陆
}
}catch (Exception e) {
e.printStackTrace();
}
}
}
package priv.ze.javaweb.naxin.service;
import priv.ze.javaweb.naxin.dao.RegisterDao;
public class RegisterService {
private RegisterDao rd = new RegisterDao();
//得到数据层的类
public boolean register(String stuID) {
if(rd.judgeOne(stuID)){
//如果为第一次登陆返回true
return true;
}
return false;
}
}
package priv.ze.javaweb.naxin.dao;
import org.apache.commons.dbutils.handlers.BeanHandler;
import priv.ze.javaweb.naxin.domain.Student1;
import priv.ze.javaweb.test.utils.TxQueryRunner;
import java.sql.SQLException;
public class RegisterDao {
//查看当前登陆是否为第一次登陆(judge中的数据为报名时录入的)
public boolean judgeOne(String stuID){
TxQueryRunner tq = new TxQueryRunner();
String sql = "select* from verify where stuID=(?)";
Object[] params = {stuID};
try {
Student1 student1 = tq.query(sql,new BeanHandler<>(Student1.class),params);
if(student1!=null) {
//如果不为null表示当前不为第一次登陆
return false;
}
}catch (SQLException e){
e.printStackTrace();
}
return true;
//返回true表示当前为第一次登陆
}
}