Servlet简介
2016-11-28 16:26
281 查看
Servlet简介:
Servlet是使用JavaServlet接口运行在支持jsp的Web应用服务器上的Java程序。可以对Web浏览器或其他http客户端程序发送的请求进行处理
1、Servlet和Servlet容器
Servlet对象与其他java对象不同,他可以处理Web浏览器或其他http客户端的请求,但是前提条件就是把servlet对象部署到Servlet容器中。
通常情况下Servlet容器就是Web容器,如tomcat等,他们对servlet进行控制。当一个客户端发送http请求是,由容器加载servlet对其进行处理及响应。
在容器中servlet共经历了4各阶段,加载servlet,初始化Servlet init()方法,处理请求service()方法,处理完成destroy。这个也就是servlet的生命周期。
2、Servlet的功能
Servlet与其他的Java程序不同,可以处理http请求以获取http头信息,通过HttpServletRequest接口与HttpServletResponse接口对请求进行处理及回应
Servlet处理完业务逻辑之后,将动态的内容通过返回并输出到html页面,与用户请求进行交互
Servlet提供了强大的过滤功能
3、Servlet与Jsp的区别
Jsp是一种在Servlet规范之上的动态网页技术,通过jsp页面中嵌入的java代码,可以动态生成网页。可以将其理解为servlet的扩展,在jsp文件被第一次请求时,会编译成Servlet文件,在由容器调用Servlet进行处理。
Servlet承担客户请求与业务处理的中间角色,需要调用固定的方法,将动态内容混合到静态之中,产生html;JSP页面中,可以直接对html标签进行输出,比Servlet更具有显示层的意义。
Servlet中需要调用Servet API处理http请求,而jsp则可以直接通过内置对象进行处理
Servlet的使用需要进行配置,jsp只要不熟在容器之中即可。
其实jsp用来显示页面 Servlet用来处理逻辑业务。
4、Servlet的配置
在Servlet3.0以后可以通过代码进行配置,如@WebServlet("/FirstServlet")
但是最常用的还是在配置文件中配置web.xml
第一行要和上面的第一行相同,第二行是访问该Servlet的url。
5、Servlet常用的类和接口
接口:Servlet,ServletConfig,HttpServletRequest,HttpServletResponse
Servlet接口:
打开API文档,我们可以看到Servlet接口是在javax.servlet包中。该接口定义了五种方法:
service用于处理客户端请求
destroy方法用来从容器中移除servlet对象
ServletConfig接口
HttpServletRequest接口
HttpServletResponse接口
GenericServlet类:
在编写Servlet时都要事先Servlet接口,该类就实现了Servlet接口但是没有处理Http请求。
HttpServlet类:
该类继承类GenericServlet类,事先Servlet类,并且能够处理http请求、因此在进行编写Servlet时都要继承该类。例如
Servlet是使用JavaServlet接口运行在支持jsp的Web应用服务器上的Java程序。可以对Web浏览器或其他http客户端程序发送的请求进行处理
1、Servlet和Servlet容器
Servlet对象与其他java对象不同,他可以处理Web浏览器或其他http客户端的请求,但是前提条件就是把servlet对象部署到Servlet容器中。
通常情况下Servlet容器就是Web容器,如tomcat等,他们对servlet进行控制。当一个客户端发送http请求是,由容器加载servlet对其进行处理及响应。
在容器中servlet共经历了4各阶段,加载servlet,初始化Servlet init()方法,处理请求service()方法,处理完成destroy。这个也就是servlet的生命周期。
2、Servlet的功能
Servlet与其他的Java程序不同,可以处理http请求以获取http头信息,通过HttpServletRequest接口与HttpServletResponse接口对请求进行处理及回应
Servlet处理完业务逻辑之后,将动态的内容通过返回并输出到html页面,与用户请求进行交互
Servlet提供了强大的过滤功能
3、Servlet与Jsp的区别
Jsp是一种在Servlet规范之上的动态网页技术,通过jsp页面中嵌入的java代码,可以动态生成网页。可以将其理解为servlet的扩展,在jsp文件被第一次请求时,会编译成Servlet文件,在由容器调用Servlet进行处理。
Servlet承担客户请求与业务处理的中间角色,需要调用固定的方法,将动态内容混合到静态之中,产生html;JSP页面中,可以直接对html标签进行输出,比Servlet更具有显示层的意义。
Servlet中需要调用Servet API处理http请求,而jsp则可以直接通过内置对象进行处理
Servlet的使用需要进行配置,jsp只要不熟在容器之中即可。
其实jsp用来显示页面 Servlet用来处理逻辑业务。
4、Servlet的配置
在Servlet3.0以后可以通过代码进行配置,如@WebServlet("/FirstServlet")
但是最常用的还是在配置文件中配置web.xml
<servlet> <servlet-name>SimpleServlet</servlet-name> <servlet-class>com.lyp.SimpleServlet</servlet-class> </servlet>显然第一行就是servlet-name是Servlet的名称,第二行是Servlet类的全名,包含包的名称
<servlet-mapping> <servlet-name>SimpleServlet</serlet-name> <url-patter>/SimpleServlet</url-patter> </servlet-mapping>
第一行要和上面的第一行相同,第二行是访问该Servlet的url。
5、Servlet常用的类和接口
接口:Servlet,ServletConfig,HttpServletRequest,HttpServletResponse
Servlet接口:
打开API文档,我们可以看到Servlet接口是在javax.servlet包中。该接口定义了五种方法:
public void init(ServletConfig config) throwsServletException public void service(ServletRequest req,ServletResponse res)throws ServletException,java.io.IOException public void destroy() public ServletConfig getServletConfig() public java.lang.String getServletInfo()Servlet实例化后调用init方法来完成初始化
service用于处理客户端请求
destroy方法用来从容器中移除servlet对象
ServletConfig接口
getInitParameter(String name) :根据给定的初始化参数名,返回匹配的初始化参数值。 getInitParameterNames():返回一个 Enumeration 对象,里面包含了所有的初始化参数名。 getServletContext():返回一个 ServletContext 对象getServletName():返回Servlet的名字,即web.xml文件中相应<servlet>元素的<servlet-name>子元素的值。如果没有为Servlet配置<servlet-name>子元素,则返回Servlet类的名字。 getServletName():返回Servlet的名字,即web.xml文件中相应<servlet>元素的<servlet-name>子元素的值。如果没有为Servlet配置<servlet-name>子元素,则返回Servlet类的名字。
HttpServletRequest接口
public Stirng getContentPath() public Cookie[] getCookies() public String getMethod() public String getQueryString() pbulic HttpSession getSession() public String getServletPath()
HttpServletResponse接口
public void addCookie(Cookie cookie) public void sendError(int src) public voidsendRedirect(String location)
GenericServlet类:
在编写Servlet时都要事先Servlet接口,该类就实现了Servlet接口但是没有处理Http请求。
HttpServlet类:
该类继承类GenericServlet类,事先Servlet类,并且能够处理http请求、因此在进行编写Servlet时都要继承该类。例如
1 package servlet; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse; 10 11 /** 继承自HttpServlet */ 12 public class HelloServlet extends HttpServlet { 13 14 /** 重写doGet方法 */ 15 @Override 16 protected void doGet(HttpServletRequest request, HttpServletResponse response) 17 throws ServletException, IOException { 18 System.out.println("处理get请求。。。"); 19 PrintWriter out = response.getWriter(); 20 out.println("<b>HelloServlet</b>"); 21 } 22 23 /** 重写doPost方法 */ 24 @Override 25 protected void doPost(HttpServletRequest request, HttpServletResponse response) 26 throws ServletException, IOException { 27 System.out.println("处理post请求。。。"); 28 PrintWriter out = response.getWriter(); 29 out.println("<b>HelloServlet</b>"); 30 } 31 32 }由上面代码可以看出doGet方法的参数是两个接口实例,在接口实例中,接口对象只能调用接口中声明的方法。
相关文章推荐
- Applet和Servlet的简介
- Servlet简介
- Apache Tomcat 5.5 Servlet/JSP 容器简介
- Servlet 简介
- JavaEE:Servlet简介及ServletConfig、ServletContext
- Servlet开发简介
- servlet简介_动力节点Java学院整理
- servlet简介
- Servlet生命周期简介
- Servlet第三篇【request和response简介、response的常见应用】
- [Servlet]Servlet、ServletConfig、ServletContext、GenericServlet、初始参数简介
- javaweb基础知识整合和servlet简介
- 关于Servlet的简介(2)
- Response对象、HttpServletResponse简介、处理字节编码问题、实现动态文件下载
- Servlet中的监听器简介
- Servlet简介
- J2EE 2.0 Servlet 简介
- Servlet简介
- Servlet技术简介以及简单实践
- Servlet规范简介——web框架是如何注入到Servlet中的