Web常用工具类总结.doc_第1页
Web常用工具类总结.doc_第2页
Web常用工具类总结.doc_第3页
Web常用工具类总结.doc_第4页
Web常用工具类总结.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

表单后台验证; package cn.kgli.utils;import java.util.Enumeration;import java.util.UUID;import javax.servlet.http.HttpServletRequest;import mons.beanutils.BeanUtils;public class WebUtils /把request对象中的请求参数封装到bean中public static T request2Bean(HttpServletRequest request,Class clazz)tryT bean = clazz.newInstance();/username=aa password=bb email=Enumeration e = request.getParameterNames(); while(e.hasMoreElements()String name = (String) e.nextElement(); /username=aaa password=123String value = request.getParameter(name);BeanUtils.setProperty(bean, name, value);return bean;catch (Exception e) throw new RuntimeException(e);public static String makeId()/UUID 128 36位字符return UUID.randomUUID().toString();package cn.itcast.web.formbean;import java.util.HashMap;import java.util.Map;import mons.beanutils.locale.converters.DateLocaleConverter;public class RegisterFormBean private String username;private String password;private String password2;private String email;private String birthday;private Map errors = new HashMap();public Map getErrors() return errors;public void setErrors(Map errors) this.errors = errors;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;public String getPassword2() return password2;public void setPassword2(String password2) this.password2 = password2;public String getEmail() return email;public void setEmail(String email) this.email = email;public String getBirthday() return birthday;public void setBirthday(String birthday) this.birthday = birthday;/*private String username; 用户名不能为空,并且要是3-8的字符 abcdABcdprivate String password; 密码不能为空,并且要是3-8的数字private String password2; 两次密码要一致private String email; 可以为空,不为空要是一个合法的邮箱private String birthday; 可以为空,不为空时,要是一个合法的日期 * */public boolean validate()boolean isOk = true;if(this.username=null | this.username.trim().equals() )isOk = false;errors.put(username, 用户名不能为空!);elseif(!this.username.matches(a-zA-Z3,8)isOk = false;errors.put(username, 用户名必须是3-8位的字母!);if(this.password=null | this.password.trim().equals()isOk = false;errors.put(password, 密码不能为空!);elseif(!this.password.matches(d3,8)isOk = false;errors.put(password, 密码必须是3-8位的数字!);/private String password2; 两次密码要一致if(this.password2!=null)if(!this.password2.equals(this.password)isOk = false;errors.put(password2, 两次密码不一致!);/private String email; 可以为空,不为空要是一个合法的邮箱/ flx_if(this.email!=null)if(!this.email.matches(w+w+(.w+)+)isOk = false;errors.put(email, 邮箱不是一个合法邮箱!);/private String birthday; 可以为空,不为空时,要是一个合法的日期if(this.birthday!=null)tryDateLocaleConverter conver = new DateLocaleConverter();conver.convert(this.birthday);catch (Exception e) isOk = false;errors.put(birthday, 生日必须要是一个日期!);return isOk;package cn.itcast.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 mons.beanutils.BeanUtils;import mons.beanutils.ConvertUtils;import mons.beanutils.locale.converters.DateLocaleConverter;import cn.itcast.domain.User;import cn.itcast.exception.UserExistException;import cn.itcast.service.BusinessService;import cn.itcast.service.impl.BusinessServiceImpl;import cn.itcast.utils.WebUtils;import cn.itcast.web.formbean.RegisterFormBean;public class RegisterServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException RegisterFormBean formbean = WebUtils.request2Bean(request, RegisterFormBean.class);/表单校验if(formbean.validate()=false)request.setAttribute(formbean, formbean);request.getRequestDispatcher(/WEB-INF/jsp/register.jsp).forward(request,response);return;/把表单的数据填充到javabean中User user = new User();try /注册字符串到日期的转换器ConvertUtils.register(new DateLocaleConverter(), Date.class);BeanUtils.copyProperties(user, formbean);user.setId(WebUtils.makeId();BusinessService service = new BusinessServiceImpl();service.registerUser(user);request.setAttribute(message, 注册成功!);request.getRequestDispatcher(/message.jsp).forward(request, response);catch (UserExistException e) formbean.getErrors().put(username, 注册用户已存在!);request.setAttribute(formbean, formbean);request.getRequestDispatcher(/WEB-INF/jsp/register.jsp).forward(request, response); catch (Exception e) e.printStackTrace(); /在后台记录异常request.setAttribute(message, 对不起,注册失败!);request.getRequestDispatcher(/message.jsp).forward(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doGet(request, response);过滤器解决中文乱码package cn.itcast.web.filter;import java.io.IOException;import java.io.UnsupportedEncodingException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;import javax.servlet.http.HttpServletResponse;public class CharacterEncodingFilter implements Filter public void doFilter(ServletRequest req, ServletResponse resp,FilterChain chain) throws IOException, ServletException HttpServletRequest request = (HttpServletRequest) req;HttpServletResponse response = (HttpServletResponse) resp;request.setCharacterEncoding(UTF-8);response.setCharacterEncoding(UTF-8);response.setContentType(text/html;charset=UTF-8);chain.doFilter(new MyRequest(request), response);public void init(FilterConfig filterConfig) throws ServletException / TODO Auto-generated method stubpublic void destroy() / TODO Auto-generated method stubclass MyRequest extends HttpServletRequestWrapperprivate HttpServletRequest request;public MyRequest(HttpServletRequest request) super(request);this.request = request;Overridepublic String getParameter(String name) String value = this.request.getParameter(name);if(value=null)return null;if(!this.request.getMethod().equalsIgnoreCase(get)return value;try value = new String(value.getBytes(iso8859-1),UTF-8); catch (UnsupportedEncodingException e) throw new RuntimeException(e);return value;分页前端 显示所有书籍 图书信息 图书名称 作者 价格 图片 描述 操作 $ $book.author $book.price 查看图片 $book.description 修改 删除 当前第$page.pagenum 页     $pagenum     总共$page.totalpage 页,总$page.totalrecord 纪录 封装页面数据:package cn.itcast.domain;import java.util.List;public class Page private int totalpage; /记住总页数private int pagesize = 3; /页面大小private int totalrecord; /总记录数private int pagenum; /记住当前页private int startindex; /记住用户想看的页的数据从哪个地方开始取private List list; /记住页面数据private int startPage;private int endPage;public Page(int pagenum,int totalrecord)this.pagenum = pagenum;this.totalrecord = totalrecord;/算出总页数this.totalpage = (this.totalrecord+this.pagesize-1)/this.pagesize;/算出用户想看的页的数据从数据库哪个地方开始取this.startindex = (this.pagenum-1)*this.pagesize;if(this.totalpage=10)this.startPage = 1;this.endPage = this.totalpage;elsethis.startPage = pagenum-4;this.endPage = pagenum+5;if(this.startPagethis.totalpage)this.endPage = this.totalpage;this.startPage = this.totalpage-9;public int getTotalpage() return totalpage;public void setTotalpage(int totalpage) this.totalpage = totalpage;public int getPagesize() return pagesize;public void setPagesize(int pagesize) this.pagesize = pagesize;public int getTotalrecord() return totalrecord;public void setTotalrecord(int totalrecord) this.totalrecord = totalrecord;public int getPagenum() return pagenum;public void setPagenum(int pagenum) this.pagenum = pagenum;public int getStartindex() return startindex;public void setStartindex(int startindex) this.startindex = startindex;public List getList() return list;public void setList(List list) this.list = list;public int getStartPage() return startPage;public void setStartPage(int startPage) this.startPage = startPage;public int getEndPage() return endPage;public void setEndPage(int endPage) this.endPage = endPage;BookServlet.javapackage cn.itcast.web.manager;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.List;import java.util.UUID;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import mons.beanutils.BeanUtils;import mons.fileupload.FileItem;import mons.fileupload.disk.DiskFileItemFactory;import mons.fileupload.servlet.ServletFileUpload;import cn.itcast.domain.Book;import cn.itcast.domain.Page;import cn.itcast.service.BusinessService;import cn.itcast.service.impl.BusinessServiceImpl;import cn.itcast.utils.WebUtils;public class BookServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String method = request.getParameter(method);if(method.equals(addUI)addUI(request,response);if(method.equalsIgnoreCase(add)add(request,response); /派发请求if(method.equalsIgnoreCase(list)list(request,response);private void list(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException String pagenum = request.getParameter(pagenum);BusinessServiceImpl service = new BusinessServiceImpl();Page page = service.getBookPageData(pagenum);request.setAttribute(page, page);request.getRequestDispatcher(/manager/listbook.jsp).forward(request, response);private void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException tryBook book = doupload(request);BusinessServiceImpl service = new BusinessServiceImpl();book.setId(WebUtils.makeID();service.addBook(book);request.setAttribute(message, 添加成功!);catch (Exception e) e.printStackTrace();request.setAttribute(message, 添加失败!);request.getRequestDispatcher(/message.jsp).forward(request, response);private Book doupload(HttpServletRequest request)/把上传的图片保存到images目录中,并把request中的请求参数封装到book中Book book = new Book();tryDiskFileItemFactory factory = new DiskFileItemFactory();ServletFileUpload upload = new ServletFileUpload(factory);List list = upload.parseRequest(request);for(FileItem item : list)if(item.isFormField()String name = item.getFieldName();String val

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论