Java web学习

一:本周学习内容

  • XML
  • Tomcat
  • Servlet
  • Request , Reponse
  • JSP
  • EL表达式

二:部分学习内容

Request & Response

  • Request: 获取请求数据
  • Response:设置响应数据,设置完成后,在Tomcat真正响应之前,会将这个对象中的数据取出拼成响应格式的字符串,给浏览器 ,浏览器再做出展示

Request 继承体系

ServletRequest ————–> Java提供的请求对象根接口
|
|
HttpServletRequset ——> java提供的对Http协议封装的请求对象接口
|
|
RequestFacade ———-> Tomcat定义的实现类

因为浏览器的请求由web服务器解析,所以相应实现类也应由web服务器提供

Tomcat需要解析请求数据,封装为request对象,并且创建request对象传递到service方法中

Response

体系结构

ServletResponse ————–> Java提供的响应对象根接口
|
|
HttpServletResponse ——> java提供的对Http协议封装的响应对象接口
|
|
ResponseFacade ———-> Tomcat定义的实现类

Request通用方式获取请求参数

作用:

统一了get请求方式和post请求方式获取参数的途径,简化了代码的书写

例如使用了通用方式获取请求参数时,在deGet方法中写处理逻辑,此时只需要在doPost方法中写this.doGet(req,resp)即可

  • Map<String,String[]> getParameterMap():获取所有参数Map集合
  • String [] getParameterValues(String name):根据名称获取参数值(数组)(当确切的知道这个参数只有多个时可以用)
  • String getParameter(String name):根据名称获取参数值(单个值)(当确切的知道这个参数只有一个时可以用)

这些方法底层会先判断请求方式是post还是get,如果是get调用getQueryString()如果是post调用getReader()

Request请求转发特点:
  • 浏览器地址栏路径不发生改变
  • 只能转发到当前服务器资源
  • 一次请求,可以在转发的资源间使用request共享数据
Response重定向特点
  • 浏览器地址栏路径发生变化
  • 可以重定向到任意位置的资源(服务器内外均可)
    因为两次请求都是由浏览器发出,浏览器可以访问任意位置资源
  • 两次请求,不能在多个资源使用request共享数据
    因为发了两次请求,就有两个request域,无法共享

路径问题

  • 浏览器使用:需要加虚拟目录
  • 服务器使用:不需要加虚拟目录

由于直接加虚拟目录会增强代码的耦合性,不利于后期更改路径,所以可以用request的getContextPath() 方法动态的获取虚拟目录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值