Servlet简介
Posted ltbblogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet简介相关的知识,希望对你有一定的参考价值。
一、什么是Servlet?
官方的解释是这样的:Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
以我目前的知识理解:Servlet是Server Applet的缩写,也就是Servlet是存在服务器端的小应用,他主要的功能是完成来自客户端通过浏览器访问服务器的.jsp文件时需要完成的后台处理部分。即:.jsp用于显示给用户看见信息,而Servlet用于传输jsp文件到服务器或者数据库或者到处理逻辑层的中间层。(注:Servlet是一个接口,我们通常使用的是继承实现了该接口的子类(HttpServlet))
二、Servlet的生命周期?
init:即在Servlet装入服务器时,由服务器调用创建该对象
service:是在有访问该Servlet时,服务器就会自动调用该方法,而我们常见的继承HttpServlet中的方法只有doGet和doPost,那是应为在父类实现Servlet中的Service()方法时直接调用了doGet()和doPost()。所以我们将需要执行的代码按照需求写在doGet或者doPost方法中。
destroy:即在关闭服务器或从服务器移出该程序时由服务器调用,进行销毁
getServletInfo:方法是一个可选的方法,它提供有关servlet 的信息,如作者、版本、版权。
getServletConfig: 方法返回一个 ServletConfig 对象,该对象用来返回初始化参数和 ServletContext。ServletContext 接口提供有关 servlet 的环境信息。
三、Servlet与jsp的传值方法?
Servle和Jsp都t是放在服务器容器中的一个程序,而jsp主要用于显示,Servlet主要是用于与jsp交互实现jsp的数据传输与逻辑实现的。
Jsp和Servlet之前通过域对象(request、pageContext、httpSession、servleteContext)来进行数据的传递,我们常用到的数据的传递方式:
1.jsp中提交form表单---->servlet中通过request.getParaneter("key")来获取表单中的值
servlet中通过给request设置键值---->jsp中通过el表达式结合jstl通过${key.属性}的方式获得值(或直接用java代码request.getAttribute("key"))
2.jsp中通过超链接拼接的方式---->servlet中通过request.getparameter()取值
注:servlet和jsp中有getParameter("key")和getAttribute("key"),通过搜索以及看视频讲解我简单的理解:getParameter只能获取字符串(在上传音频,视频,图片时就不能用这一系列方法),而getAttribute是通过键来获取对象,前提是必须有setAttribute设置了.
以上是关于Servlet简介的主要内容,如果未能解决你的问题,请参考以下文章
Servlet简介与Servlet和HttpServlet运行的流程