Servlet,filter, struts,jsp之间的关系

java web 开发,入门的知识,servlet编写,注册,生命周期的方法,

HttpServletRequest,HttpServletResponse的相关的知识,其均是以HTTP协议为操作原理。

因为静态 web服务器调用本质流程:

1. web  服务器(如:IIS, tomcat)启动tcp socket service

2. 等待Client发起TCP 连接,且接收TCP的连接

3. client以HTTP协议向服务器发送请求,请求包含各种信息,所以需要丰富统一简明的格式来表达。

4. service读取请求(request)数据, 根据协议请求格式,响应

5. 将响应(Response)结果以HTTP协议格式发送client

特点:同一个请求得到结果是一样的

因为动态 web服务器调用本质流程,以tomcat为例说明:

1.TOMCT 启动tcp socket service

2. 等待Client发起TCP 连接,且接收TCP的连接

3. client以HTTP协议封装请求数据,将数据向socket当中写入。

4. service从socket当中读取数据,按\r\n进行TCP拆包。将数据分类,请求头,消息头,实例,为例方便处理封装httpservletRequest对象,且通过httpservletRequest还能继续读取client向socket流当中写入的数据,如表单上传文件。同时也将socket.getOutputStream封装到HttpServletResponse。

5. 调用filter,然后由filter调用servlet,向servlet传入httpservletRequest, httpservletResponse对象。

6. servlet通过httpservletresponse写入响应数据。

特点:

1. tcp, http,filter, servlet是java web的一种经典且主要的方式,主要用于web站点

2.tcp,http, filter加struts也是一种模式,在android与web通信就使用了这种,struts的filter调用httpservletRequest 得到请求数据,然后利用httpservletResponse向客户端发送数据

【servlet与web的关系】

1. servlet根据请求参数,调用相应的业务逻辑,拼成html,json,xml的数据,封装到http当中发送给客户端

2. servlet是J2EE当中,开发者与用户所交互的入口,servlet能够设计HTML数据。用户向web服务器发送servlet请求

【servlet与tomcat的关系】

1. servlet是一种JAVA WEB开发的框架, tomcat是web服务器,且能够运行servlet文件。

2. 从开发者的角度看,servlet是一个接口,我们只要继承相应的servlet相应接口,现实相应的接口,用户就可以看到了

3. tomcat不会实现servlet的接口方法,其只调用servlet的接口

【filter与servlet的关系】

之前

只是理解了filter的一层作用,拦截请求,调用不到servlet

现在

1. 任何一个servlet都是被filter创建与调用,filter调用servlet的server方法,提供了httpServletRequest, httpservletResponse对象。

2. 在filter当中可以动态添加与修改httpServletRequest, httpServletResponse当中的参数,在struts就利用了一种能力。如在web.xml当中定义一个struts的filter,然后调用struts的action,向action处理逻辑,得到数据,将这些数据放置到response, request参数。然后再根据action的返回值,forward到具体在jsp当中,在JSP当中取出存放在request当中的数据,在JSP当中显示,最后jsp(servlet)利用httpservletresponse返回JSP的html数据。

【struts, filter, servlet的关系】

1. struts, servlet 均是建立在J2EE的filter基础之上的,都必须由filter来调用

2. 刚开始学习java web的时候,是filter, servlet,所有网页显示需要直接是拼接成字符串,然后是filter, JSP, servlet. 由servlet做调用的入口,然后再调用具体的jsp显示数据

3. 在工作当中是filter, jsp, struts. 在struts当中处理业务逻辑得到数据, 然后调用相应的jsp网页显示数据。

4. J2EE本质还是socket, http, jsp/servlet, struts只是一个框架,方便JSP程序的开发,方便在于开发人员不要局限于HTTP的思路,如在servlet当中只有doGet, doPost,这是受限于http的思路,在struts是以业务的请求为中心,一个action类可以有请求的入口,根据需要调用不同的jsp

 

1.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值