servlet中级

HttpServletRequest对象和HttpServletResponse对象的作用?
request对象封存用户的请求数据信息
response对象封存了响应给浏览器的信息
request对象获取请求行的方法及其作用?
getMethod()方法获取请求方式
getRequestURL()方法获取请求的url
getRequestURI()方法获取请求的uri项目根目信息
getScheme()方法获取协议
getQueryString()方法获取url中?后面的请求数据
request对象获取请求头的方法及其作用?
getHeader()方法获取请求头中键的值
getHeaderNames()方法获取请求头中的所有键名
request对象获取请求实体数据的方法是?区别是?
getParameter()方法根据请求参数键名获取值,不适用有多个同名的键,如果有同名的键只能获取一个
getParameterValues()方法适用于请求参数有多个同名键的情况下获取值,如果没有多个同名,使用此方法在性能上相对有影响
getParameterNames()方法获取请求参数中键名,但是如果有同名的键只能获取一个,如果要根据键名获取值时需使用if判断配合getParameterValues()方法进行解决
request获取请求实体键名枚举和获取请求相关网络数据?
getRemoteAddr()方法:获取客户端的ip地址
getRemotePort()方法:获取客户端的端口号
getLocalAddr()方法:获取服务端的ip地址
getLocalPort()方法:获取服务端的端口
request对象的特点是什么?
一次请求内多个servlet之间是同一个request对象,请求结束销毁request对象,在每次新的请求都会重新创建一个request对象
response中addHeader和setHeader的方法的作用和区别?
addHeader方法往请求头中增加数据,调用多次的情况下,执行的是追加操作
setHeader方法往请求头中增加数据,如果请求头中没有同名的键,执行的是增加操作,如果有执行的是覆盖操作
response设置响应实体?

resp.getWriter().write("test");

get和post请求乱码的解决方案?
get方式乱码解决①调用用request对象中的setCharaterEncoding()方法设置为utf-8并在tomcat根目录中的config目录下修改service.xml文件在服务器端口号配配置useBodyEncoding=true post方式调用用request对象中的setCharaterEncoding()方法设置为utf-8

  <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" useBodyEncodingForURI="true"/>


req.setCharacterEncoding("utf-8");

如何解决响应数据乱码?
调用response对象中setContentType方法设置为 text/html;charset=utf-8
resp.setContentType(“text/html;charset=utf-8”);
请求转发代码示例
req.getRequestDispatcher(“main”).forward(req, resp);
请求转发的本质是什么?
当前的servlet可能存在无法处理当前的请求,调用其他的servlet进行处理响应
request对象作为请求转发的数据的载体的方法是什么?
setAttribute()方法 服务器接收到浏览器发送的请求后,服务器把下次请求可能会用到的数据进行声明响应给浏览器,浏览器进行存储,在下次发送请求时进行附带
请求转发之request对象总结
请求转发的作用域时在一次请求内数据是可以共享的,地址栏信息在刷新后不会发生改变,在提交表单数据进行重复刷新会发生多次提交的情况,会占用浏览器的内存
重定向代码示例

resp.sendRedirect("login");

重定向总结
重定向发生在多次请求中,解决了请求转发会发生重复提交表单的情况,每次浏览器进行进行刷新都会向服务器发送一次请求,浏览器地址栏回发生变化
cookie代码示例

Cookie cookie = new Cookie("mouse", "model");
resp.addCookie(cookie);

为什么需要cookie?
在执行重定向操作时无法进行数据的共享
cookie常用方法

cookie.setMaxAge(3600*24*3);//设置cookie的有效期
cookie.setPath("/manger/main");//设置cookie的有效路径

cookie的特点是什么 ?
解决了不同请求之间的数据共享问题
cookie总结
cookie由服务器端生成,在浏览器端内存中进行存储,在没设置有效期时,浏览器关闭cookie销毁,在设置有效期时,cookie保存在硬盘中,到期时会销毁,不会随着浏览器的关闭进行销毁,在没有设置有效路径的情况下cookie生成后,之后的请求都会附带cookie,设置有效路径的情况下,只对有效的路径生效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值