package com.xyp.web;
import com.google.gson.Gson;
import com.xyp.domain.User;
import com.xyp.service.impl.UserServiceImpl;
import com.xyp.utils.WebUtils;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.lang.reflect.Method;
import java.sql.SQLException;
import java.util.HashMap;
import static com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY;
public class UserServlet extends BaseServlet{
private UserServiceImpl userService = new UserServiceImpl();
protected void loginOut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 1、销毁 Session 中用户登录的信息(或者销毁 Session)
// 2、重定向到首页(或登录页面)。
req.getSession().invalidate();
resp.sendRedirect(req.getContextPath());
}
protected void login(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username");
String password = req.getParameter("password");
try {
User login = userService.login(WebUtils.copyParamToBean(req.getParameterMap(), new User()));
if(login == null){
//没有该用户,登录失败
System.out.println("该用户不存在");
//请求转发,请求域中的数据login.jsp中也能用
req.setAttribute("errorMsg","用户名或密码错误");
req.setAttribute("uesrname",username);
req.setAttribute("password",password);
req.getRequestDispatcher("/pages/user/login.jsp").forward(req,resp);
}else{
//存在该用户,登陆成功
System.out.println("登陆成功");
req.getSession().setAttribute("loginUser",login);
req.getRequestDispatcher("/pages/user/login_success.jsp").forward(req,resp);
}
} catch (Exception e) {
// e.printStackTrace();
throw new RuntimeException(e);
}
}
protected void regist(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 1.获取请求的参数(其中有密码,用doPost()方法)
String username = req.getParameter("username");
String password = req.getParameter("password");
String email = req.getParameter("email");
String code = req.getParameter("code");
//内容回显
req.setAttribute("username",username);
req.setAttribute("password",password);
req.setAttribute("email",email);
// 2.检查 验证码是否正确 先写死,后面再改,验证码是abcde
// 获取 Session 中的验证码
String token = (String) req.getSession().getAttribute(KAPTCHA_SESSION_KEY);
// 删除 Session 中的验证码
req.getSession().removeAttribute(KAPTCHA_SESSION_KEY);
if(token != null && token.equalsIgnoreCase(code)){
try {
//验证码正确
//3. 用户名是否已存在
if(userService.existUsername(username)){
//返回true,则存在
System.out.println("用户名["+username+"]已存在");
req.setAttribute("errorMsg","用户名已存在");
req.getRequestDispatcher("/pages/user/regist.jsp").forward(req,resp);
}else{
//返回flase ,表示用户名不存在,可以使用
//4.保存用户信息
// userService.registerUser(new User(null,username,password,email));
userService.registerUser(new User(null,username,password,email,"user"));
//跳转到用户成功注册界面
req.getRequestDispatcher("/pages/user/regist_success.jsp").forward(req,resp);
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}else{
//不相等
req.setAttribute("errorMsg","验证码错误");
System.out.println("验证码["+code+"]不正确");
req.getRequestDispatcher("/pages/user/regist.jsp").forward(req,resp);
}
}
/**
* 判断用户名是否存在,把结果返回给请求页面(响应),用到了AJAX技术(优点异步更新)
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
protected void ajaxExistsUsername(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException, SQLException {
String username = req.getParameter("username");
boolean existUsername = userService.existUsername(username);
//把结果封装成一个Map对象
HashMap<String, Object> resultMap = new HashMap<>();
resultMap.put("existUsername",existUsername);
//把它转成JSON对象,在返回给客户端
Gson gson = new Gson();
String json = gson.toJson(resultMap);
resp.getWriter().write(json);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于Servlet+JSP+Jquery+EL+Ajax的餐饮管理系统.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设项目的学生、或者相关技术学习者作为学习资料参考使用。 3、该资源包括全部源码,需要具备一定基础才能看懂并调试代码。 基于Servlet+JSP+Jquery+EL+Ajax的餐饮管理系统.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设项目的学生、或者相关技术学习者作为学习资料参考使用。 3、该资源包括全部源码,需要具备一定基础才能看懂并调试代码。 基于Servlet+JSP+Jquery+EL+Ajax的餐饮管理系统.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设项目的学生、或者相关技术学习者作
资源推荐
资源详情
资源评论
收起资源包目录
基于Servlet+JSP+Jquery+EL+Ajax的餐饮管理系统.zip (133个子文件)
code.bmp 9KB
code.bmp 9KB
style.css 4KB
style.css 4KB
logo.gif 9KB
logo.gif 9KB
UserServlet.java 5KB
CartServlet.java 5KB
FoodServlet.java 5KB
FoodServiceImpl.java 5KB
ClientFoodServlet.java 4KB
FoodDaoImpl.java 4KB
JDBCUtilsByDruid.java 4KB
OrderServiceImpl.java 3KB
Cart.java 3KB
RegistServlet.java 3KB
BasicDao.java 3KB
FoodDaoTest.java 2KB
ClientOrderServlet.java 2KB
CartTest.java 2KB
Food.java 2KB
FoodServiceTest.java 2KB
LoginServlet.java 2KB
OrderServiceTest.java 2KB
OrderItem.java 2KB
Page.java 2KB
Order.java 2KB
CartItem.java 1KB
User.java 1KB
BaseServlet.java 1KB
OrderDaoImpl.java 1KB
OrderDaoTest.java 1KB
ManagerFilter.java 1KB
OrderItemDaoTest.java 1KB
ManagerOrderServlet.java 1KB
OrderService.java 1KB
UserDaoImpl.java 1KB
FoodDao.java 1KB
UserDaoTest.java 1KB
OrderDao.java 983B
UserServiceTest.java 958B
OrderItemDaoImpl.java 920B
FoodService.java 901B
WebUtils.java 897B
TransactionFilter.java 879B
UserServiceImpl.java 856B
UserService.java 830B
UserDao.java 773B
JdbcUtilsTest.java 390B
OrderItemDao.java 307B
07.jpg 294KB
07.jpg 294KB
重庆小面.jpg 249KB
重庆小面.jpg 249KB
default.jpg 207KB
default.jpg 207KB
蛋炒饭.jpg 195KB
蛋炒饭.jpg 195KB
砂锅粉.jpg 123KB
砂锅粉.jpg 123KB
蛋炒粉.jpg 118KB
蛋炒粉.jpg 118KB
玉米饺子.jpg 113KB
玉米饺子.jpg 113KB
蛋炒面.jpg 94KB
蛋炒面.jpg 94KB
烤肉拌饭.jpg 86KB
烤肉拌饭.jpg 86KB
兰州拉面.jpg 74KB
兰州拉面.jpg 74KB
玉米蒸饺.jpg 74KB
玉米蒸饺.jpg 74KB
桂林米粉.jpg 62KB
桂林米粉.jpg 62KB
蛋炒饭1.jpg 47KB
蛋炒饭1.jpg 47KB
河南烩面.jpg 31KB
河南烩面.jpg 31KB
jquery-1.7.2.js 247KB
jquery-1.7.2.js 247KB
jquery-1.7.2.min.js 93KB
jquery-1.7.2.min.js 93KB
regist.jsp 5KB
regist.jsp 5KB
index.jsp 5KB
index.jsp 5KB
page_nav.jsp 4KB
page_nav.jsp 4KB
cart.jsp 3KB
cart.jsp 3KB
food_manager.jsp 3KB
food_manager.jsp 3KB
login.jsp 3KB
login.jsp 3KB
orderItem.jsp 3KB
orderItem.jsp 3KB
order.jsp 2KB
order.jsp 2KB
food_edit.jsp 2KB
food_edit.jsp 2KB
共 133 条
- 1
- 2
资源评论
辣椒种子
- 粉丝: 3329
- 资源: 5724
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功