【javaweb:Servlet】采用BeanUtils进行网站注册的Servlet
2018-01-20 19:28
656 查看
package indi.register; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.sql.SQLException; import java.util.Map; import java.util.UUID; 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.dbutils.QueryRunner; import indi.domain.User; import indi.utils.DataSourceUtils; public class RegisterServletTest extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //设置request的解码方式为UTF-8,但是这只能针对post请求方式。如果是get请求方式请采用最基本的操作的方式(可同时用于get和post) //这操作方式就是 //String str=new String(string.getBytes("iso8859-1"),"UTF-8");string假设是一个从request中获取的某个原本是中文的参数。 //因为request默认是用iso8959-1进行解码,那么我们就用sio8859-1进行编码,再用UTF-8进行解码就可以获取网页端的中文字符! request.setCharacterEncoding("UTF-8"); //1.从请求体中获取注册的信息 Map<String, String[]> parameterMap = request.getParameterMap(); //2.将注册的信息的Map集合运用BeanUtils进行封装打包成User对象。 //BeanUtils工作原理:将Map中的数据根据key与实体的属性的对应关系进行封装 //只要key的名字与实体的属性的名字一样,就自动封装到实体中。 User user=new User(); try { BeanUtils.populate(user, parameterMap); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } //3.还差个uid,所以手动封装一个uid,UUID的这个方法可以参数一个32位的随机数,然后中间有空格,最终形成了36位。 user.setUid(UUID.randomUUID().toString()); //4.将参数传递给一个业务处理方法 try { regist(user); } catch (SQLException e) { throw new RuntimeException(e); } //5、认为注册成功跳转到登录页面 //request.getContextPath()获取web应用的名称,便于修改工程名称后这个位置的名称不受影响。 response.sendRedirect(request.getContextPath()+"/login.jsp"); } public void regist(User user) throws SQLException { //1.创建QueryRuner对象 QueryRunner qr=new QueryRunner(DataSourceUtils.getDataSource()); //2.创建sql语句 String sql="insert into user values(?,?,?,?,?,?,?,?,?,?)"; //3.运用QueryRunner对象的update方法。 Object[] object= {user.getUid(),user.getUsername(),user.getPassword(),user.getName(),user.getEmail(), null,user.getBirthday(),user.getSex(),null,null}; qr.update(sql,object); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
相关文章推荐
- asp.net 4.0 尚未在服务商注册 您需要手动将web服务器配置为 ASP.NET4.0,这样您的网站才能正常进行。
- JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能
- javaWeb之servlet进行登录
- 【javaweb:servlet】客户端请求服务端进行文件下载的demonstration
- 用Eclipse进行Java web开发时,错误:HttpServlet was not found on the Java
- java爬虫 爬取虎嗅网站页面信息 采用分布式 多线程来进行(继续上篇博客写的上游 这个写的是下游)
- 【javaweb:servlet】网站登录信息校验,并返回页面提示
- [JavaWeb基础] 004.用JSP + SERVLET 进行简单的增加删除修改
- Eclipse进行Java web开发时,可能会出现这样的错误:The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
- 【javaweb:servlet】采用重定向实现页面跳转
- Java web MVC(jsp,servlet,dao)+Bootstrap购物网站开发经验总结 (持续更新)
- JavaWeb网站用Servlet实现前后台交互
- 基于JavaScript、Javabean、Servlet、ajax的异步请求登录注册找回密码Javaweb项目
- Eclipse3.2下进行ArcGIS Server 9.2 Java WebADF开发手记 - 环境配置篇
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之02.JDBC Connection 推荐
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之35.安装使用MySQL及SQL Manager 推荐
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介 推荐
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之33.HTML表单 推荐
- 传智播客java web 学习,Servlet事件监听器
- Java EE WEB工程师培训—JDBC+Servlet+JSP整合开发之32. HTML简介 推荐