2019-06-19
request对象特点:
服务器在接收到请求后,会给此次请求创建一个request对象,
此对象中封存了此次请求相关的数据
注意:每次请求都会创建新的request对象存储请求数据
request对象获取请求行的方法
getMethod(); 返回请求方式
getRequestURL(); 返回请求的url
getRequestURI(); 返回请求的uri 在端口号后面和?之前的称之为URI
作用:找到要执行的servlet
getQueryString(); 返回get请求中的URL中的用户数据,注意:post请求中没有此方法
getScheme(); 返回协议
getHeaderNames() 返回存储了请求头键名的枚举集合。
获取请求实体的数据
getParameter(String name) 根据键名获取数据
getParameterValues(String name)根据键名获取同名不同值的实体数据,返回值为数组
如果getParameter获取的键名对应多个值,只返回一个
getParameterValues同名不同值都会返回
获取网络信息的方法
getRemoteAddr() 获取客户端IP地址
getRemotePort() 获取客户端的端口号
getLocalAddr() 获取服务器端的IP地址
getLocalPort() 获取服务器的端口号
post请求方式乱码:
req.setCharacterEncoding("utf-8");
get 请求方式乱码解决:
方式一:每个数据都要单独的进行交换
String uname = req.getParameter("uname");
String uname2 = new String(uname.getBytes("iso-8859-1"), "utf-8");
方式二:
req.setCharacterEncoding("utf-8");
在tomcat的service.xml文件中的Connector标签中增加属性:useBodyEncodingForURI="true"
响应数据乱码
resp.setContentType("text/html;charset=utf-8");
servlet:Servelt其实就是实现了特殊接口的java类,此类tomcat服务器是认识的
特点:Servlet由程序员创建,但是由服务器调用执行
总结:Servlet其实就是一个服务器可以识别的java类,我们需要将业务逻辑处理规则放入servlet中,
然后将servlet放入tomcat服务器中,服务器根据请求调用对应的servlet处理,
servlet可以称为后台处理程序的入口
请求转发的本质:其实就是在一个servlet中调用其他的servlet
特点:
降低servlet之间的代码冗余
一次请求装发内的servlet共享此次请求的request和response对象
浏览器地址栏信息不改变,一次请求
重定向的特点
特点:两次请求,地址栏信息改变
cookie
浏览器端的数据存储技术
哪些数据需要被存储是在服务器端进行声明,以响应的方式告诉浏览器
进行存储不适合大量数据的储存
作用:解决了不同请求之间请求数据共享的问题