javaweb学习路线-myeclipse的配置和Servlet之request和response

Myeclipse的配置

1.General -->Workspace -->utf-8  //设置项目的编码格式,项目决定文件,文件决定文本

2.General -->Editors -->Associations -->JSP -->MyEclipse JSP Editors

3.搜索jsp -->utf-8  

4.Java -->Instralled JREs -->添加

5.tomcat配置,先配置java环境,再配置本地tomcat环境

6.调整字体:General-->Appearance-->Colors and Fonts-->Basics-->Text Font-->Edit 选择Courier New字体

 

服务器处理请求的流程:

服务器每次收到请求时,都会为这个请求开辟一个新的线程。

服务器会把客户端的请求数据封装到request对象中,request就是请求数据的载体

服务器还会创建response对象,这个对象与客户端连接在一起,他可以用来向客户端发送响应

 

键值对的形式的头

适用于单值的响应头:response.setHeader("aaa","AA")

适用于单值INt类型的响应头:response.setIntHeader("Content-Type",888)//设置了888字节

 

案例一:重定向

发送302,设置Loaction头,完成重定向!

案例二:定时刷新(可以理解成定时重定向):response.setHeader("Refresh", "5;URL=/day10/EServlet");  

案例三: 禁用浏览器缓存(三条语句适用范围广)

  response.setHeader("Cache-Control", "no-cache");
  response.setHeader("pragma", "no-cache");
  response.setDateHeader("expires", -1);

响应体:通常是html或者图片

response常用的两个流:

PrintWriter:用来向客户端发送字符流!需要设置编码:PrintWriter pw=response.getWriter();

ServletOutputStream:用来向客户端发送字节流(图片):ServletOutputStream out=response.getOutputStream();

ServletOutputStream:

String s="hello world!";
  byte [] bytes=s.getBytes();
  //将字节流输出
  response.getOutputStream().write(bytes);

把一张图片读取到字节数组中去:

1.String path="F:/F/白冰.jpg";

2.FileInputStream in=new FileInputStream(path);

3.byte[] bytes=IOUtils.toByteArray(in);//读取整个输入流中的字节到字节数组中去(导入的commons.io的包)

 

Request:封装了所有客户端的请求数据:

commons.io.

String getScheme():获取协议     返回的是http

String getServerName():获取服务器名    localhost

String getServerPort():获取服务器端口    8080

String getContextPath():获取项目名    /day_10

String getServletPath():获取servlet路径    /AServlet

String getRequestURI():获取请求URI,等于项目名+Servlet路径     /day_10/AServlet

String getRequestURL():获取请求URL,等于不包含参数的整个请求路径    http://localhost:8080/day_10/AServlet

 

使用Referer请求头完成防盗链:可以判断请求来自哪里

 

posted on 2017-04-24 10:06  薄凉京  阅读(230)  评论(0编辑  收藏  举报

导航