发表于: 2017-09-22 23:26:04

1 835


今天完成的事情:

今天还是完成了一个小项目,但是好像跑偏了,这个小项目是网上的实例,一开始我新建一个webapp项目,然后照着教程写代码,一开始没跑通,创建时候自动生成的application文件好几个地方爆红,改了一会改不了,后来直接删掉了webapp模板自动生成的文件试了一下居然,跑通了,然后又发现把除了jsp文件和web.xml文件的其他文件全部注释掉还是能把jsp显示出来.突然就懵了,那我写的那些controller都无意义,然后就想到底是哪些代码能成功通过tomcat把jsp文件显示出来.后来想着想着,突然觉得自己这几天学习方法好像跑偏了,因为任务二第一个就是了解rest和restful,然后网上的第一个实例就是在localhost:8080上显示出helloworld,所以想当然认为在页面上显示出东西是任务二的重中之重,然后就在一直找各种显示jsp的实例来实现,现在发现还是数据处理比较重要,把数据显示出来反而相对简单.

今天了解了Web服务器、Servlet和Servlet容器

Web服务器使用HTTP协议来传输数据。最简单的一种情况是,用户在浏览器(客户端,client)中输入一个URL(如,www.programcreek.com/static.html),然后就能获取网页进行阅览。因此,服务器完成的工作就是发送网页至客户端。传输过程遵循HTTP协议,它指明了请求(request)消息和响应(response)消息的格式。

在这里,我们发现,用户/客户端只能向服务器请求静态网页。如果用户想要根据自己的输入来读取网页,这种方式就不能满足用户的要求。Servlet容器的基本思想是在服务器端使用Java来动态生成网页。因此,Servlet容器是Web服务器和servlet进行交互的必不可少的组件。Servlet容器就是用来装Servlet的。


Servlet容器和Web服务器如何处理一个请求?

  • Web服务器接收到HTTP请求

  • Web服务器将请求转发给servlet容器

  • 如果容器中不存在所需的servlet,容器就会检索servlet,并将其加载到容器的地址空间中

  • 容器调用servlet的init()方法对servlet进行初始化(该方法只会在servlet第一次被载入时调用)

  • 容器调用servlet的service()方法来处理HTTP请求,即,读取请求中的数据,创建一个响应。servlet会被保留在容器的地址空间中,继续处理其他的HTTP请求

  • Web服务器将动态生成的结果返回到正确的地址。

    下图标出了上述的六个步骤:


明天计划完成的事情:明天开始学习springmvc的实现,调整学习线路

遇到的问题:今天遇到了一个非常无语的问题,今天在写controller的时候,语句爆红了,找了半天原来是使用了中文括号,吐血三升....

收获:今天又瞎转了一天,学习了servlet,明天开始学习springmvc吧.





返回列表 返回列表
评论

    分享到