标签:
String str = "我爱java"; //第一种方法 response.setContentType("text/html;charset=GBK");(推荐) //第二种方法 //response.setHeader("Content-Type","text/html;charset=UTF-8"); //第三种方法 //response.getOutputStream().write("<meta http-equiv=‘Content-Type‘ content=‘text/html;charset=UTF-8‘>".getBytes()); response.getOutputStream().write(str.getBytes());
String path = "/WEB-INF/classes/你好.jpg";
String filename = path.substring(path.lastIndexOf("/")+1);
String absolutePath = getServletContext().getRealPath(path);
if(request.getHeader("User-Agent").contains("Firefox")) {
response.setHeader("Content-Disposition", "attachment;filename="+encodeDownloadFilename(filename, "Firefox"));
} else {
response.setHeader("Content-Disposition", "attachment;filename="+encodeDownloadFilename(filename, "ie"));
}
InputStream is = new FileInputStream(absolutePath);
OutputStream os = response.getOutputStream();
int len = -1;
byte buf[] = new byte[1024];
while((len=is.read(buf)) != -1) {
os.write(buf, 0, len);
}
is.close();
public String encodeDownloadFilename(String filename, String agent) throws IOException {
if(agent.contains("Firefox")) {
filename = "=?UTF-8?B?"+new BASE64Encoder().encode(filename.getBytes("utf-8"))+"?=";
} else {
filename = URLEncoder.encode(filename,"UTF-8");
}
return filename;
}
//控制浏览器定时刷新 response.setHeader("refresh", "10"); //定义高度和宽度 int width = 120, height = 25; //创建一个图像缓冲区 BufferedImage bImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //得到画笔 Graphics g = bImage.getGraphics(); //设置画笔颜色画边框,填充背景,画线条,画字符串 g.setColor(Color.BLACK); g.drawRect(0, 0, width, height); //填充背景 g.setColor(Color.LIGHT_GRAY); g.fillRect(1, 1, width-2, height-2); //画线条 Random r = new Random(); g.setColor(Color.CYAN); for(int i=0; i<20; i++) { g.drawLine(r.nextInt(width), r.nextInt(height), r.nextInt(width), r.nextInt(height)); } //字符串,设置字体样式 Font font = new Font("楷体",Font.BOLD|Font.ITALIC, 20); g.setFont(font); g.setColor(Color.RED); String base = "\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728"; for(int i=0; i<4; i++) { String ch = base.charAt(r.nextInt(base.length())) +""; g.drawString(ch, 20+(20*i), 20); } //设置头信息显示数据类型 response.setHeader("Content-Type", "image/jpeg"); //清空缓存信息 response.setHeader("Expires", "0"); response.setHeader("Cache-Control", "no-cache"); response.setHeader("Pragma", "no-cache"); ImageIO.write(bImage, "jpg", response.getOutputStream());
response.setContentType("text/html;charset=UTF-8");
response.setDateHeader("Expires", System.currentTimeMillis()+60*60*1000);
PrintWriter out = response.getWriter();
out.write("刘若英-十年");
//1. 获取获取请求参数(文本框中的值) request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); Enumeration<String> names = request.getParameterNames(); while(names.hasMoreElements()) { /*String name = new String(names.nextElement().getBytes("ISO-8859-1"),"UTF-8"); String value = new String(request.getParameter(name).getBytes("ISO-8859-1"),"UTF-8");*/ String name = names.nextElement(); String value = request.getParameter(name); response.getWriter().write(name+": "+value); }
// 2. 通过反射获取请求参数
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
User user = new User();
Enumeration<String> names = request.getParameterNames();
while (names.hasMoreElements()) {
String name = names.nextElement();
String values[] = request.getParameterValues(name);
Class clazz = user.getClass();
try {
Field field = clazz.getDeclaredField(name);
field.setAccessible(true);
if (values != null & values.length > 1) {
field.set(user, (Object) values);
} else {
field.set(user, values[0]);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
response.getWriter().write(user.getUsername() + ">>"+ Arrays.toString(user.getPassword()));
// 3. 通过内省完成获取请求参数
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
User user = new User();
Map<String, String[]> map = request.getParameterMap();
for(Map.Entry<String, String[]> entry : map.entrySet()) {
String name = entry.getKey();
String values[] = entry.getValue();
try {
PropertyDescriptor pd = new PropertyDescriptor(name, User.class);
Method m = pd.getWriteMethod();
if(values!=null && values.length>1) {
m.invoke(user, (Object)values);
} else {
m.invoke(user, values[0]);
}
} catch (Exception e) {
e.printStackTrace();
}
}
response.getWriter().write(user.getUsername() + ">>" +Arrays.toString(user.getPassword()));
// 4. 通过BeanUtils中setProperty()方法
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
User user = new User();
Map<String, String[]> map = request.getParameterMap();
for(Map.Entry<String, String[]> entry : map.entrySet()) {
String name = entry.getKey();
String values[] = entry.getValue();
try {
if(values!=null && values.length>1) {
BeanUtils.setProperty(user, name, (Object)values);
} else {
BeanUtils.setProperty(user, name, values[0]);
}
} catch (IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
}
response.getWriter().write(user.getUsername() + ">>" + Arrays.toString(user.getPassword()));
// 5. 通过BeanUtils中的populator()方法
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
User user = new User();
try {
BeanUtils.populate(user, request.getParameterMap());
} catch (IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
response.getWriter().write(user.getUsername() + ">>" + Arrays.toString(user.getPassword()));JavaWeb之Request/Response代码修炼篇(五)
标签:
原文地址:http://www.cnblogs.com/codingpark/p/4234471.html