由于学习的过程中,接触到了这部分内容,所以特别的在这进行整理,分享给大家。
Servlet是Java Servlet的简称,称为小服务程序或服务连接器;
从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。Servlet是Java
Servlet API开发的一种Java类,这些API被包含在javax.Servlet和javax.Servlet.http这两个包中。Servlet程序在服务器端运行,动态地生成Web页面。
与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,具有更好的可移植性,更加高效。
可以说JSP的实现是基于Servlet的,当JSP容器接到一个JSP页面请求之后,首先会判断与JSP文件相对应的Servlet类的名字
①如果不存在或者比较陈旧,那么容器就会重新创建一个等价的Servlet类并且进行编译。
②如果存在的话,那么服务器就会编译Servlet类,并且自动加载形成Servlet实例,并且将执行结果返回到客户端。
① public void init() throws ServletException { }
//初始化,init 方法只调用被一次。它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。因此,它是用于一次性初始化。
②public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }
//对Get方法请求响应服务,GET 请求来自于一个 URL 的正常请求,或者来自于一个未指定 METHOD 的 HTML 表单,它由 doGet() 方法处理。
③ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }
//对Post方法请求响应服务,POST 请求来自于一个特别指定了 METHOD 为 POST 的 HTML 表单,它由 doPost() 方法处理。
④public void destroy() { }
//销毁,destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程。
一个Tomcat工程中最重要的配置文件。
web.xml没有其实也可以——————只要你确定你的项目里面不需要任何过滤器、监听器、Servlet等等。
//web-app定义该文档的根元素。
firstServlet
//用来定义servlet的名称,该名称在整个应用中必须是惟一的。
servlet.HelloServlet
//用来指定servlet的完全限定的名称。
firstServlet
//Servlet的名字,唯一性和一致性,与元素中声明的名字一致。
/hello
//指定相对于Servlet的URL的路径。该路径相对于web应用程序上下文的根路径。
//将URL模式映射到某个Servlet,即该Servlet处理的URL。
HttpServletRequest接口-------------javax.servlet.http.HttpServletRequest接口类型的对象对应JSP中的request内置对象。
常用方法:
public String getParameter(String param);
//获得客户机请求参数,获取指定名称的参数值
public String[] getParameterValues(String param);
//获取指定名称参数的所有值数组。它适用于一个参数名对应多个值的情况。如页面表单中的复选框,多选列表提交的值。
public void setAttribute(String attname,Object o);
//在JSP内置对象session和request都有这个方法,这个方法作用就是保存数据,然后还可以用getAttribute方法来取出。
public Object getAttribute(String attname);
//取数据
HttpResponse接口---------javax.servlet.http.HttpResponse接口类型的对象对应JSP中的response内置对象。
常用方法:
public void setContentType(String contentType);
//在响应中可以表明内容格式和长短。
public void sendRedirect(String url);
//发送一个临时的重定向响应到客户端,让客户端访问新的URL。
//如果指定的位置是相对URL,Servlet容器在发送响应到客户端之前,必须将相对URL转换为绝对URL。
/如果响应已经被提交,这个方法将抛出IllegalStateException异常。
ServletConfig接口--------------javax.servlet.ServletConfig接口类型的对象对应JSP中的config内置对象,用于在Servlet初始化时向Servlet传递一些信息。
定义:ServletConfig config = this.getServletConfig();
常用方法
public String getInitParameter(String paraname);
//从web.xml中获取参数。
ServletContext接口-------------javax.servlet.ServletContext接口类型的对象对应JSP中的application内置对象。
定义:ServletContext app = this.getServletContext();
常用方法
public void setAttribute(String attname, Object o);
//存放数据,例如:setAttribute("wg","666"),
//表示存放了一个属性名为wg,属性值为123的数据,
//如果再次调用该方法,并向容器中存放了相同的属性,最后存的会覆盖以前存的。
public Object getAttribute(String attname);
//取出指定属性名的数据,包括属性名和属性值,
//参过name指定的数据不存在,则本方法什么都不做。
关于Servlet的内容暂时介绍到这里!
谢谢大家!