package com.itheima.web.controller;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
import com.itheima.domain.User;
import com.itheima.exception.UserExistException;
import com.itheima.service.BusinessService;
import com.itheima.service.impl.BusinessServiceImpl;
import com.itheima.util.FillBeanUtil;
import com.itheima.web.beans.UserFormBean;
//编码重点。完成注册
public class RegistServlet extends HttpServlet {
private BusinessService s = new BusinessServiceImpl();
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String encoding = "UTF-8";
request.setCharacterEncoding(encoding);
response.setContentType("text/html;charset="+encoding);
//获取表单数据,封装到JavaBean中。引入FormBean:特点属性和表单字段完全一致。且都是String类型。封装错误消息。
UserFormBean formBean = FillBeanUtil.fillBean(request, UserFormBean.class);
//数据验证:服务器端验证。实际开发中:客户端+服务器端验证。
if(!formBean.validate()){
//不通过:回显数据,消息提示
request.setAttribute("formBean", formBean);
request.getRequestDispatcher("/regist.jsp").forward(request, response);
return;
}
//填充模型:formBean---->JavaBean
User user = new User();
// user.setUsername(formBean.getUsername());
// user.setPassword(formBean.getPassword());
// user.setEmail(formBean.getEmail());
// DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
// try {
// user.setBirthday(df.parse(formBean.getBirthday()));
// } catch (ParseException e) {
// e.printStackTrace();
// }
ConvertUtils.register(new DateLocaleConverter(), Date.class);//注册类型转换器
try {
BeanUtils.copyProperties(user, formBean);
} catch (Exception e) {
e.printStackTrace();
}
//通过:调用Service保存数据
try {
s.regist(user);
response.getWriter().write("保存成功!2秒后转向主页");
response.setHeader("Refresh", "2;URL="+request.getContextPath());
} catch (UserExistException e) {
//数据回显和提示
formBean.getErrors().put("username", "用户名已经存在了");
request.setAttribute("formBean", formBean);
request.getRequestDispatcher("/regist.jsp").forward(request, response);
return;
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
javaEE通过MVC模式实现注册登入案例的myeclipse工程
共69个文件
class:19个
java:19个
jar:5个
5星 · 超过95%的资源 需积分: 12 34 下载量 128 浏览量
2017-07-15
22:06:29
上传
评论 1
收藏 1.3MB ZIP 举报
温馨提示
javaEE通过MVC模式实现注册登入案例的myeclipse工程,设计MVC设计结构,数据库操作,等等。完整的工程代码。博客:http://blog.csdn.net/fengyuwuzu0519/article/details/75174713
资源推荐
资源详情
资源评论
收起资源包目录
day15_01_regist.zip (69个子文件)
day15_01_regist
.settings
com.genuitec.eclipse.migration.prefs 247B
com.genuitec.eclipse.j2eedt.core.prefs 1009B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 359B
org.eclipse.wst.common.component 571B
org.eclipse.wst.jsdt.ui.superType.container 49B
.jsdtscope 500B
org.eclipse.jdt.core.prefs 364B
src
dbcfg.properties 86B
users.xml 139B
META-INF
MANIFEST.MF 25B
com
itheima
dao
UserDao.java 536B
impl
UserDaoXmlImpl.java 2KB
UserDaoMySQLImpl1.java 2KB
UserDaoMySQLImpl.java 2KB
exception
UserExistException.java 366B
DaoException.java 343B
domain
User.java 919B
test
BusinessServiceImplTest.java 2KB
DateFormatDemo.java 559B
web
beans
UserFormBean.java 3KB
controller
LogoutServlet.java 952B
RegistServlet.java 3KB
LoginServlet.java 1KB
service
impl
BusinessServiceImpl.java 901B
BusinessService.java 619B
util
BeanFactory.java 701B
FillBeanUtil.java 423B
JdbcUtil.java 2KB
Dom4JUtil.java 806B
dao.properties 46B
.project 2KB
WebRoot
META-INF
MANIFEST.MF 36B
WEB-INF
web.xml 1KB
classes
dbcfg.properties 86B
users.xml 139B
META-INF
MANIFEST.MF 25B
com
itheima
dao
UserDao.class 298B
impl
UserDaoMySQLImpl.class 3KB
UserDaoMySQLImpl1.class 3KB
UserDaoXmlImpl.class 3KB
exception
DaoException.class 747B
UserExistException.class 758B
domain
User.class 1KB
test
BusinessServiceImplTest.class 2KB
DateFormatDemo.class 777B
web
beans
UserFormBean.class 3KB
controller
LoginServlet.class 2KB
LogoutServlet.class 2KB
RegistServlet.class 3KB
service
BusinessService.class 330B
impl
BusinessServiceImpl.class 2KB
util
JdbcUtil.class 2KB
BeanFactory.class 1KB
Dom4JUtil.class 1KB
FillBeanUtil.class 1KB
dao.properties 46B
lib
dom4j-1.6.1.jar 307KB
jaxen-1.1-beta-6.jar 239KB
commons-beanutils-1.8.3.jar 227KB
commons-logging-1.1.1.jar 59KB
mysql-connector-java-5.0.8-bin.jar 528KB
js
calendar.css 5KB
calendar.js 39KB
login.jsp 1023B
index.jsp 947B
regist.jsp 2KB
.mymetadata 318B
.classpath 1KB
.myeclipse
共 69 条
- 1
资源评论
- sucbwh2018-10-17写的非常好
【星星之火】
- 粉丝: 5244
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 双H桥电机驱动L298N芯片AD集成库ALTIUM库(原理图库+PCB封装库)文件.zip
- 555springboot + vue 线上教学平台.zip(可运行源码+数据库文件+文档)
- 554springcloud + vue 房产销售平台.zip(可运行源码+数据库文件+文档)
- 小霸王坦克游戏源码.7z
- 蓝桥杯单片机基础学习项目(LED,数码管,蜂鸣器,继电器,按键控制)
- 553springboot + vue 某银行OA系统.zip(可运行源码+数据库文件+文档)
- DatabaseWatermarkingBasedonTextFormat
- yolov8常用二维码检测检测+数据集
- -移动通信-网络课程设计与研究
- 基于Python的PCA人脸识别算法的原理及实现代码+文档详解.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功