package com.al_tair.shop.web.controller.method2;
import com.al_tair.shop.domain.Member;
import com.al_tair.shop.service.MemberService;
import com.al_tair.shop.service.impl.MemberServiceImpl;
import com.google.gson.Gson;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.xml.crypto.Data;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
import static com.google.code.kaptcha.Constants.KAPTCHA_SESSION_DATE;
import static com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY;
/**
* @author Al_tair
* @date 2022/5/16-20:37
*/
@WebServlet(name = "MemberServlet",urlPatterns = {"/memberServlet"})
public class MemberServlet extends BasicServlet {
MemberService loginMemberUser = new MemberServiceImpl();
/**
* 校验是否存在用户
*
* @param request
* @param response
*/
protected void IsExistUser(HttpServletRequest request, HttpServletResponse response) throws IOException {
String username = request.getParameter("username");
Gson gson = new Gson();
boolean existUser = loginMemberUser.isExistUser(username);
Map<String,Object> result = new HashMap<>();
result.put("IsExistUser",existUser);
response.getWriter().write(gson.toJson(result));
}
/**
* 用户登录
*
* @param request
* @param response
* @throws IOException
* @throws ServletException
*/
protected void login(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
HttpSession session = request.getSession();
if(session.getAttribute("username") != null){
response.sendRedirect(getServletContext().getContextPath() + "/index.jsp");
return;
}
String username = request.getParameter("username");
String password = request.getParameter("password");
String code = request.getParameter("code");
request.setAttribute("username",username);
// 用户名格式校对
String pattern = "^[a-zA-Z0-9_]{6,10}$";
if(!Pattern.matches(pattern,username)){
System.out.println("用户名格式不正确");
request.setAttribute("errorMsg","用户名格式错误!");
request.getRequestDispatcher("/views/member/login.jsp").forward(request,response);
return;
}
// 密码格式校对
pattern = "^[a-zA-Z0-9_]{6,10}$";
if(!Pattern.matches(pattern,password)){
System.out.println("密码格式不正确");
request.setAttribute("errorMsg","密码格式错误!");
request.getRequestDispatcher("/views/member/login.jsp").forward(request,response);
return;
}
// 获取验证码
Object realCode = session.getAttribute(KAPTCHA_SESSION_KEY);
Object date = session.getAttribute(KAPTCHA_SESSION_DATE);
// 立即删除session中该属性
session.removeAttribute(KAPTCHA_SESSION_KEY);
if(realCode == null || code == null || !code.equalsIgnoreCase((String)realCode)){
System.out.println(code);
System.out.println(realCode);
request.setAttribute("errorMsg","验证码不正确!");
System.out.println("验证码不正确");
request.getRequestDispatcher("/views/member/login.jsp").forward(request,response);
return;
}
Member loginUser = loginMemberUser.login(username, password);
if(loginUser == null){
request.setAttribute("errorMsg","登录失败!");
request.getRequestDispatcher("/views/member/login.jsp").forward(request,response);
}else if(loginUser.getUserState() != 0){
request.setAttribute("errorMsg","请使用管理员登录!");
request.getRequestDispatcher("/views/member/login.jsp").forward(request,response);
}else{
System.out.println("登录成功! username: " + username);
session.setMaxInactiveInterval(60*60*20*7);
session.setAttribute("username",username);
session.setAttribute("password",password);
session.setAttribute("userState",0);
response.sendRedirect(getServletContext().getContextPath() + "/views/member/login_ok.jsp");
}
}
/**
* 用户注册
*
* @param request
* @param response
* @throws IOException
*/
protected void register(HttpServletRequest request, HttpServletResponse response) throws IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String repassword = request.getParameter("repassword");
String email = request.getParameter("email");
String code = request.getParameter("code");
// 后端校验
if(username == null || password == null || email == null || repassword == null){
response.sendRedirect(getServletContext().getContextPath() + "/views/member/register_fail.jsp");
return;
}
// 用户名格式校对
String pattern = "^[a-zA-Z0-9_]{6,10}$";
if(Pattern.matches(pattern,username)){
System.out.println("用户名格式正确");
}else{
System.out.println("用户名格式不正确");
response.sendRedirect(getServletContext().getContextPath() + "/views/member/register_fail.jsp");
return;
}
// 密码格式校对
pattern = "^[a-zA-Z0-9_]{6,10}$";
if(Pattern.matches(pattern,password)){
System.out.println("密码格式正确");
}else{
System.out.println("密码格式不正确");
response.sendRedirect(getServletContext().getContextPath() + "/views/member/register_fail.jsp");
return;
}
if(!password.equals(repassword)){
System.out.println("输入两次密码不相同!");
response.sendRedirect(getServletContext().getContextPath() + "/views/member/register_fail.jsp");
return;
}
// 邮箱格式校对
pattern = "\\w+@\\w+\\.[a-z]+(\\.[a-z]+)?";
if(Pattern.matches(pattern,email)){
System.out.println("邮箱格式正确");
}else{
System.out.println("邮箱格式不正确");
response.sendRedirect(getServletContext().getContextPath() + "/views/member/register_fail.jsp");
return;
}
// 获取验证码
HttpSession session = request.getSession();
Object realCode = session.getAttribute(KAPTCHA_SESSION_KEY);
Object date = session.getAttribute(KAPTCHA_SESSION_DATE);
// 立即删除session中该属性
session.removeAttribute(KAPTCHA_SESSION_KEY);
if(realCode == null || code == null || !code.equalsIgnoreCase((String)realCode)){
System.out.println("验证码不正确");
response.sendRedirect(getServletContext().getContextPath() + "/views/member/register_fail.jsp");
return;
}
LocalDateTime localDateTime = LocalDateTime.now();
Member member = new Member(username, password, email, (byte) 0);
MemberService registeredMemberUsers = new MemberServiceImpl();
if(!registeredMemberUsers.registerUser(member)){
System.out.println("注册失败");
response.sendRedirect(getServletContext().getContextPath() + "/views/member/register_fail.jsp");
return;
}
System.out.println("注册成功");
response.sendRedirect(getServletContext().getContextPath() + "/views/member/register_ok.jsp");
}
protected void ManageLogin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
if(session.getAttribute("username") !=
没有合适的资源?快使用搜索试试~ 我知道了~
家居网购(javaweb开发)
共167个文件
java:46个
jpg:43个
png:32个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 96 浏览量
2022-06-24
16:13:37
上传
评论
收藏 9.99MB ZIP 举报
温馨提示
家居网购(javaweb开发)
资源推荐
资源详情
资源评论
收起资源包目录
家居网购(javaweb开发) (167个子文件)
code.bmp 13KB
style.min.css 357KB
plugins.min.css 173KB
vendor.min.css 71KB
homeShopping.iml 1KB
druid-1.1.10.jar 2.63MB
mysql-connector-java-5.1.37-bin.jar 963KB
jasper.jar 573KB
kaptcha-2.3.2.jar 421KB
servlet-api.jar 238KB
commons-beanutils-1.8.0.jar 226KB
taglibs-standard-impl-1.2.1.jar 196KB
gson-2.2.4.jar 186KB
commons-io-1.4.jar 161KB
jasper-el.jar 158KB
el-api.jar 80KB
jsp-api.jar 60KB
commons-logging-1.1.1.jar 59KB
commons-fileupload-1.2.1.jar 56KB
commons-dbutils-1.3.jar 40KB
taglibs-standard-spec-1.2.1.jar 38KB
MemberServlet.java 9KB
FurnServlet.java 9KB
CartServlet.java 7KB
MemberServlet.java 6KB
Cart.java 4KB
OrderServlet.java 4KB
JDBCUtilsByDruid.java 4KB
LoginServlet.java 3KB
RegisterServlet.java 3KB
FurnDaoImpl.java 3KB
BasicDao.java 2KB
FurnServiceImpl.java 2KB
Page.java 2KB
CustomerFurnServlet.java 2KB
Furn.java 2KB
CarItem.java 2KB
AuthFilter.java 2KB
OrderServiceImpl.java 2KB
OrderItem.java 2KB
Order.java 2KB
FurnDao.java 2KB
Member.java 2KB
FurnService.java 1KB
BasicServlet.java 1KB
MemberDaoImpl.java 1KB
TransactionFilter.java 1KB
LogOutServlet.java 1KB
OrderItemDaoImpl.java 960B
PageTest.java 958B
MemberServiceImpl.java 915B
OrderDaoImpl.java 842B
MemberDao.java 802B
listOrderServiceImpl.java 792B
OrderService.java 683B
OrderServiceImplTest.java 673B
MemberService.java 644B
UpdateFurnTest.java 640B
OrderDaoImplTest.java 581B
OrderItemDaoImplTest.java 576B
AddFurnTest.java 572B
deleteFurnByIdTest.java 481B
OrderItemDao.java 480B
FurnServiceImplTest.java 456B
WebUtils.java 452B
Date.java 420B
OrderDao.java 380B
coming-soon.jpg 236KB
9.jpg 212KB
8.jpg 201KB
slider-2-1.jpg 179KB
4.jpg 169KB
2.jpg 163KB
default.jpg 151KB
16.jpg 151KB
13.jpg 146KB
slider-2-2.jpg 146KB
5.jpg 129KB
14.jpg 128KB
7.jpg 123KB
11.jpg 122KB
1.jpg 118KB
10.jpg 114KB
6.jpg 104KB
3.jpg 104KB
1.jpg 98KB
12.jpg 97KB
15.jpg 67KB
single-blog.jpg 57KB
4.jpg 47KB
1.jpg 45KB
12.jpg 40KB
3.jpg 39KB
2.jpg 38KB
11.jpg 32KB
1.jpg 30KB
2.jpg 28KB
4.jpg 26KB
8.jpg 21KB
3.jpg 21KB
共 167 条
- 1
- 2
资源评论
Al_tair
- 粉丝: 703
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功