Java sevlet是运行在 Web 服务器或应用服务器上的程序,它是作为来自Web浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
若是还不明白,可以将Servlet代替成contoller
Servlet规范介绍: - servlet规范来自于JAVAEE规范中的一种
* 作用:
1: 在Servlet规范中,指定【动态资源文件】开发步骤
2: 在Servlet规范中,指定Http服务器调用动态资源文件规则
3: 在Servelt规范中,指定Http服务器管理动态资源文件实例对象规则
- 例: Object newObj = new Object();浏览器需要和服务端进行交互,而交互就需要用到get或者post请求,但如何运用get和post请求? 这时在浏览器和服务端进行信息交互时,会出现http请求协议包和http响应协议包
这两个方式,都会有对应的请求对象和响应对象,在浏览器选择好对应servlet的路径,浏览器的请求就会发送至对应路径的Servlet中,Servlet会区分浏览器的请求方式是get还是post,如果是get,那么Servlet执行的方式是doGet,post请求则反之。
在请求送至Servlet中的doGet或doPost方法中后,就可以从请求对象中获得请求协议包中的数据,同时,也可以设置将doGet方法完成后发向浏览器的响应对象。
这里不得不提的是,在java中,包含了请求转发等一系列与浏览器相关的操作,这些操作就可以保证java的多态化。
在请求和响应的传输过程中,如果传输依赖网络,那么不得不考虑的是网络波动和网络地址问题,这些明显的因素会有导致内容传输不全的可能,如果传输内容跟不全,服务端很可能就会包各种bug,也就是“刚刚运行没问题!但是这下哪蹦出来一个BUG?”的情况。
如果Servlet没有接收到和浏览器传输过来的内容或者内容错误请确认浏览器的缓存是否影响了传输过程或者在浏览器端发送请求的地址是否配对正确。
在javaWeb的开发中,请求这概念一定要弄清楚,像浏览器如何发送一个请求,又如何生成一个请求,发送请求中如何传输,这些都很关键也很重要。
如果还不是很明白,那么可以想象一个这样的场景,一条河,两端各有一人,一条绳子贯穿河流,两人只能通过绳子传输物品,或者说传递纸条进行对话。 在这里,河就意味着浏览器和服务端之间的距离。两端的人一个是浏览器,一个则是服务端。绳子代表得是请求的路径。浏览器和服务端要是想通话那么只能够通过这条绳子进行沟通。 同时,传输过程中的异常,在两端的人和绳子这三者中指定有一个出现了问题。