Servlet In Web Application

原创 2006年05月23日 17:43:00
Servlet In Web Application
 
HttpServlet的执行步骤:
1.       容器收到调用请求的时候,先调用HttpServletservice()方法;
2.       如果HttpServletservice()方法没有被重写,那么就调用Servletservice()方法,
3.       这个方法中,会根据requerst head中的method 参数来判断执行哪个函数。方法名称为:XXX ,那么就执行 doXXX()方法。
 
Note:
·          http1.0中有三种方法:get,post,head.http1.1中又增加了5个方法:put, options,delete,trace,connect.
·          如果HttpServlet中的service()被重写,那么就要人工的根据method判断需要调用的方法。
·          在浏览器中如果不指定request中的方法名,那么默认为get。比如链接,未声明method的表单,都默认是用get。所以当你想提交比较长的数据,或者不想把表单中的数据显示到链接的后面,那么就必须声明formmethod方法为post.
 
HttpServletResponse:
1.   getWriter() getOutputStream()方法在同一个ServletResponse中只能调用其中之一。否则会抛出IllegalStateException。但是同一个方法是可以多次调用的。
2.       Reponse.setRedirect().方法要在response head发送到客户端之前调用,否则会抛出IllegalStateExceptionserRedirect()方法实际上就是通过response head告诉浏览器,转向到指定的地址。和重新在地址栏输入地址效果一样。原先发送过的request数据是没有的,更forward()方法有所区别。Forward方法对客户端来说是透明的,服务器端将收到的request转发给特定的资源。
 
Servlet Life Cycle
       1. Servlet 实例默认在容器第一次受到对该Servlet的请求的时候初始化,也可以进行预加载,在描述文件中设置<load-on-startup>
       2. Servlet的初始化调用的是init(ServletConfig)函数,其中ServletConfig包含了在描述文件中对这个Servlet设置的初始化参数。这个函数运行完毕之后Servlet才能进入initialized状态。
       3. GenericServlet(Servlet接口的一般实现)中还有一个不带参数的init() ,这方法是用来提供给用户重写的,当想在初始化的时候做些事情,重写这个方法既可,init(ServletConfig)方法会自动调用这个方法。在init()中如果想使用ServletConfig,可以通过函数getServletConfig()来获得。如果重写了init(ServletConfig)方法,那么记住要在方法中使用super.init(ServletConfig).
 
ServletContext
         ServletContext是整个Web Application的公共对象,保存了这个应用的环境参数,也可以被共享所有Servlet的公共数据。他也有权利访问整个应用的说有资源。
         ServletContext获得资源的方法有:
1. Java.net.URL getResource(String path)
2. java.io.InputStream getResourceAsStream(String path)
3. String getRealPah(String relativePath) //返回本地绝对路径,但是不能读取jar包里面的文件。
 
RequestDispatcher
          有两种方式获得RequestDispatcher,通过ServletContextServletRequest,这两种方式获得的RequestDispatcher 的区别是:后者可以使用相对路径,而前者不可以。
          两个函数:
1.   Void forward(ServletRequest request,ServletResponse response)
response commited 之前,可以将request response路由到别的servlet或者jsp来继续处理。
2.   Void include(ServletRequest request,ServletResponse response)
response commited 之前,可以将request response路由到别的servlet或者jsp来处理,但是处理完成后还会回到本servlet.

相关文章推荐

Elecve Web Application (Java servlet)

  • 2010年07月12日 23:44
  • 1.93MB
  • 下载

备份 - web.xml 中spring-servlet.xml 和 application.xml 配置位置及含义

本文转载自:http://blog.csdn.net/tengdazhang770960436/article/details/48395885 在我们进行 spring-servlet 进行开发的...
  • Mike_H
  • Mike_H
  • 2017年05月19日 16:09
  • 184

web.xml 中spring-servlet.xml 和 application.xml 配置位置及含义

在我们进行 Spring-servlet 进行开发的时候,经常会遇到配置文件配置的问题,要彻底的解决这个问题,我们需要了解 springMVC 设计的基本架构 1.SpringMVC 的配置分为...
  • kouwoo
  • kouwoo
  • 2015年11月30日 10:51
  • 261

Create web application with Host Header in SharePoint 2013

Our protal need to be upgraded to SharePoint 2013, so I have tried to installed SharePoint 2013 3 ti...

Display a Web Page in a Plain C Win32 Application

转自:http://www.codeguru.com/cpp/i-n/ieprogram/article.php/c4379/Display-a-Web-Page-in-a-Plain-C-Win32...

Using Couchbase Server In A GoLang Web Application

在GO Web 应用中使用couchbase
  • zistxym
  • zistxym
  • 2016年09月11日 20:34
  • 955

using Camel in a Web Application

上篇,介绍了如何用控制台加载camel,route。 本章主要介绍如何在web application中使用  camel。 Setp1 :   web.xml   主要添加 是添加 spring 的...

Java EE 6: How to implement “Stay Logged In” when user login in to the web application

I am using Form-based authentication provided by GlassFish v3 btw. Most of the website, when the us...
  • gmemai
  • gmemai
  • 2015年08月31日 03:34
  • 400
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Servlet In Web Application
举报原因:
原因补充:

(最多只允许输入30个字)