Web常用工具类总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“web测试的经典总结”。
表单后台验证;
package cn.kgli.utils;
import java.util.Enumeration;import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.beanutils.BeanUtils;
public cla WebUtils {
//把request对象中的请求参数封装到bean中
public static T request2Bean(HttpServletRequest request,Cla clazz){
try{
T bean = clazz.newInstance();
//username=aa paword=bb email=aa@sina.com
Enumeration e = request.getParameterNames();
while(e.hasMoreElements()){
String name =(String)e.nextElement();//username=aaa paword=123
String value = request.getParameter(name);
BeanUtils.setProperty(bean, name, value);
}
return bean;
}catch(Exception e){
throw new RuntimeException(e);
}
}
public static String makeId(){
//UUID
36位字符
return UUID.randomUUID().toString();}
}
package cn.itcast.web.formbean;
import java.util.HashMap;import java.util.Map;
import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
public cla RegisterFormBean {
private String username;private String paword;private String paword2;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 getPaword(){
return paword;} public void setPaword(String paword){
this.paword = paword;} public String getPaword2(){
return paword2;} public void setPaword2(String paword2){
this.paword2 = paword2;} 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的字符 abcdABcd private String paword;密码不能为空,并且要是3-8的数字 private String paword2;两次密码要一致
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”, “用户名不能为空!”);}else{
if(!this.username.matches(“[a-zA-Z]{3,8}”)){
isOk = false;
errors.put(“username”, “用户名必须是3-8位的字母!”);
} }
if(this.paword==null || this.paword.trim().equals(“”)){
isOk = false;
errors.put(“paword”, “密码不能为空!”);}else{
if(!this.paword.matches(“d{3,8}”)){
isOk = false;
errors.put(“paword”, “密码必须是3-8位的数字!”);
} }
//private String paword2;两次密码要一致
if(this.paword2!=null){
if(!this.paword2.equals(this.paword)){
isOk = false;
errors.put(“paword2”, “两次密码不一致!”);
}
}
//private String email;
可以为空,不为空要是一个合法的邮箱
// flx_itcast@sina.com.cn
if(this.email!=null){
if(!this.email.matches(“w+@w+(.w+)+”)){
isOk = false;
errors.put(“email”, “邮箱不是一个合法邮箱!”);
}
}
//private String birthday;可以为空,不为空时,要是一个合法的日期
if(this.birthday!=null){
try{
DateLocaleConverter 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 org.apache.commons.beanutils.BeanUtils;import org.apache.commons.beanutils.ConvertUtils;import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
import cn.itcast.domain.User;import cn.itcast.exception.UserExistException;import cn.itcast.service.BusineService;import cn.itcast.service.impl.BusineServiceImpl;import cn.itcast.utils.WebUtils;import cn.itcast.web.formbean.RegisterFormBean;
public cla RegisterServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
RegisterFormBean formbean = WebUtils.request2Bean(request, RegisterFormBean.cla);
//表单校验
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.cla);
BeanUtils.copyProperties(user, formbean);
user.setId(WebUtils.makeId());
BusineService service = new BusineServiceImpl();
service.registerUser(user);
request.setAttribute(“meage”, “注册成功!”);
request.getRequestDispatcher(“/meage.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(“meage”, “对不起,注册失败!”);
request.getRequestDispatcher(“/meage.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 cla 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 stub
}
public void destroy(){
// TODO Auto-generated method stub
} }
cla MyRequest extends HttpServletRequestWrapper{ private HttpServletRequest request;public MyRequest(HttpServletRequest request){
super(request);
this.request = request;
} @Override public 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;}
}
分页前端
<%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%> <%@taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
显示所有书籍
图书信息
图书名称
作者
价格
图片
描述
操作
${book.name }
${book.author }
${book.price }
查看图片
${book.description }
修改
删除
当前第[${page.pagenum }]页
[${pagenum }]
总共[${page.totalpage }]页,总[${page.totalrecord }]纪录
Web测试工具小结单元测试方面:(对开发人员比较有用) J-Unit工具。功能测试方面:E-test是个不错的选择,功能很强大,由于不是采用Post URL的方式回放脚本,所以可以支持多内码的测试数......
Web页面测试—控件类web端页面测试,最常见的是基本控件的测试,只有了解常见的控件和其测试方法,才能掌握测试要点,避免漏测情况发生。根据日常工作总结,将控件和常见逻辑集合在一......
(总结)Web性能压力测试工具之ApacheBench(ab)详解
PS:网站性能压力测试是性能调优过程中必不可少的一环。只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题。Apache中有个自带的,名为ab的程序,可以对Apache或其它......
概述开发框架的选择,始终是个仁者见仁、智者见智的事情。尤其是Web层的开发框架,数量非常多,而且各有特色,如:Struts、WebWork、SpringMVC、Tapestry、JSF、WebPage3.0......等等......
第一章:1.万维网(World Wide Web,Web)也称为环球信息网;2.世界上第一个网站是http: //info.cern.ch/,它于1991年8月6日上网;3.Tim Berners-Lee爵士(1955年出生于英国)是关注万维网发......