package cn.tsp2c.shop.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import javax.naming.ldap.Rdn;
import javax.servlet.RequestDispatcher;
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 org.apache.log4j.Logger;
import cn.tsp2c.shop.dao.MemberDao;
import cn.tsp2c.shop.domain.Member;
import cn.tsp2c.shop.exception.AuthUserException;
import cn.tsp2c.shop.exception.DBException;
import cn.tsp2c.shop.exception.MemberException;
import cn.tsp2c.shop.service.MemberService;
import cn.tsp2c.shop.util.Constant;
import cn.tsp2c.shop.util.DBUtil;
/**
* 商城会员管理servlet
*
* @author lvxda
*
*/
public class MemberServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = -3585918958960238973L;
private static final Logger log = Logger.getLogger(MemberServlet.class);
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String action = req.getParameter("action");
if ("register".equals(action)) {
try {
register(req, resp);
} catch (Exception e) {
System.out.println("fdgdss");
log.error("注册会员失败", e);
}
} else if ("userExists".equals(action)) {
userExists(req, resp);
}else if("login".equals(action)){
Login(req,resp);
}
}
private void Login(HttpServletRequest req, HttpServletResponse resp) {
String password = req.getParameter("password");
String username = req.getParameter("username");
Member member=null;
RequestDispatcher rd=null;
String target="/index.jsp";
try {
member=MemberService.getInstance().login(password, username);
//TODO:用户登录
if(member==null){
req.setAttribute("MSG_LOGIN_ERROR", "你输入的用户名、密码不匹配,请重新输入!");
target="/member/login.jsp";
}else {
HttpSession session=req.getSession();
session.setAttribute(Constant.MSG_LOGIN_ERROR, member);
}
}catch(AuthUserException e) {
log.error("登录认证失败",e);
target="/error.jsp";
req.setAttribute(Constant.MSG_REG_RERROR, e.getMessage());
}
rd=req.getRequestDispatcher(target);
try {
rd.forward(req, resp);
} catch (ServletException e) {
log.error("登录认证失败",e);
} catch (IOException e) {
log.error("登录认证失败",e);
}
}
private void userExists(HttpServletRequest req, HttpServletResponse resp) {
String username = req.getParameter("username");
boolean b = false;
PrintWriter pw = null;
String desc = null;
try {
b = MemberService.getInstance().exist(username);
if (b) {
desc = "此用户名已注册";
} else {
desc = "此用户名可用";
}
resp.setCharacterEncoding("utf-8");
pw = resp.getWriter();
} catch (IOException e) {
log.error("检查用户名是否存在时发生异常", e);
b = false;
desc = "检查用户名是否存在时发生异常";
} catch (MemberException e) {
log.error("检查用户名是否存在时发生异常", e);
b = false;
desc = "检查用户名是否存在时发生异常";
}
String jsonStr = new StringBuffer().append("{").append(
"\"userExists\":\"").append(String.valueOf(b)).append(
"\",\"desc\":\"").append(desc).append("\"}").toString();
log.debug(jsonStr);
pw.println(jsonStr);
pw.close();
}
// 注册会员
public void register(HttpServletRequest req, HttpServletResponse resp)
throws MemberException {
String password = req.getParameter("password");
String username = req.getParameter("username");
String gender = req.getParameter("gender");
String email = req.getParameter("email");
Date regdate = new Date();// req.getParameter("password"); //注册日期
String phone = req.getParameter("phone");
Date birthday = null; // 出生日期
int scorenum = 0;
int grade = 1;
Member member = new Member(password, username, gender, email, regdate,
phone, birthday, scorenum, grade);
String target = "/error.jsp";
RequestDispatcher rd = null;
boolean isError = false;
try {
boolean b = MemberService.getInstance().exist(username);
if (b) {//用户已注册
req.setAttribute(Constant.MSG_REG_RERROR, "用户已注册");
rd = req.getRequestDispatcher(target);
rd.forward(req, resp);
return;
}
//注册用户
MemberService.getInstance().add(member);
req.setAttribute(Constant.MSG_REG_OK, "用户注册成功");
target = "/success.jsp";
rd = req.getRequestDispatcher(target);
rd.forward(req, resp);
} catch (MemberException e) {
log.error("注册会员失败", e);
isError = true;
} catch (ServletException e) {
log.error("注册会员失败", e);
isError = true;
} catch (IOException e) {
log.error("注册会员失败", e);
isError = true;
}
if (isError) {
try {
// req.setAttribute(Constant.MSG_REG_RERROR, "用户已注册");
rd = req.getRequestDispatcher(target);
rd.forward(req, resp);
} catch (ServletException e) {
log.error("注册会员失败", e);
e.printStackTrace();
} catch (IOException e) {
log.error("注册会员失败", e);
e.printStackTrace();
}
}
}
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
在线购书系统java实现
共49个文件
class:12个
java:11个
jar:6个
需积分: 10 8 下载量 58 浏览量
2011-01-11
20:13:53
上传
评论
收藏 887KB ZIP 举报
温馨提示
用javase jsp javabean mysql开发的,能够实现在线购书的功能,但更需要完善
资源推荐
资源详情
资源评论
收起资源包目录
在线购书系统.zip (49个子文件)
drshopping
.project 1KB
.settings
.jsdtscope 500B
org.eclipse.core.resources.prefs 88B
org.eclipse.jdt.core.prefs 330B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
.mymetadata 303B
WebRoot
success.jsp 858B
WEB-INF
web.xml 1KB
lib
commons-logging.jar 59KB
log4j-1.2.9.jar 344KB
jstl.jar 20KB
commons-fileupload-1.2.1.jar 56KB
commons-io-1.3.2.jar 86KB
standard.jar 384KB
classes
cn
tsp2c
shop
dao
MemberDao.class 557B
impl
MemberDaoImpl.class 5KB
exception
AuthUserException.class 823B
DBException.class 805B
MemberException.class 817B
servlet
MemberServlet.class 6KB
filter
CharacterEncodingFilter$RequestEncodingWrapper.class 2KB
CharacterEncodingFilter.class 2KB
domain
Member.class 3KB
service
MemberService.class 1KB
util
DBUtil.class 4KB
Constant.class 429B
log4j.properties 1KB
index.jsp 829B
META-INF
context.xml 399B
MANIFEST.MF 36B
error.jsp 1011B
member
reg.jsp 4KB
login.jsp 2KB
js
ajax.js 410B
member.js 4KB
src
cn
tsp2c
shop
dao
MemberDao.java 1KB
impl
MemberDaoImpl.java 5KB
exception
AuthUserException.java 441B
MemberException.java 438B
DBException.java 479B
servlet
filter
CharacterEncodingFilter.java 2KB
MemberServlet.java 6KB
domain
Member.java 3KB
service
MemberService.java 981B
util
Constant.java 407B
DBUtil.java 4KB
log4j.properties 1KB
.classpath 818B
共 49 条
- 1
资源评论
gzzaboy1985
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 爬取当当网图书数据并保存至本地Excel的Python实现
- html css js网页设计M-m笔记
- linux常用命令大全vaWeb-m笔记
- c语言文件读写操作代码CM-2023C-开发笔记
- vmware workstation pro 17 linux版
- 3479521_1710042575-1.rwmod
- 安装及环境配置UMCM-2023C-ma笔记
- (完整)数据库课程设计餐厅点餐说明书-21ab6d3c8beb172ded630b1c59eef8c75ebf952c.doc
- 2023-04-06-项目笔记 - 第一百五十四阶段 - 4.4.2.152全局变量的作用域-152 -2024.06.04
- 松哥解协议松哥解协议松哥解协议松哥解协议松哥解协议
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功