servlet源码

[c-sharp] view plaincopy

  1. protected void service(HttpServletRequest req, HttpServletResponse resp)
  2. throws ServletException, IOException
  3. {
  4. String method = req.getMethod();
  5. if(method.equals("GET"))
  6. {
  7. long lastModified = getLastModified(req);
  8. if(lastModified == -1L)
  9. {
  10. doGet(req, resp);
  11. } else
  12. {
  13. long ifModifiedSince = req.getDateHeader("If-Modified-Since");
  14. if(ifModifiedSince < (lastModified / 1000L) * 1000L)
  15. {
  16. maybeSetLastModified(resp, lastModified);
  17. doGet(req, resp);
  18. } else
  19. {
  20. resp.setStatus(304);
  21. }
  22. }
  23. } else
  24. if(method.equals("HEAD"))
  25. {
  26. long lastModified = getLastModified(req);
  27. maybeSetLastModified(resp, lastModified);
  28. doHead(req, resp);
  29. } else
  30. if(method.equals("POST"))
  31. doPost(req, resp);
  32. else
  33. if(method.equals("PUT"))
  34. doPut(req, resp);
  35. else
  36. if(method.equals("DELETE"))
  37. doDelete(req, resp);
  38. else
  39. if(method.equals("OPTIONS"))
  40. doOptions(req, resp);
  41. else
  42. if(method.equals("TRACE"))
  43. {
  44. doTrace(req, resp);
  45. } else
  46. {
  47. String errMsg = lStrings.getString("http.method_not_implemented");
  48. Object errArgs[] = new Object[1];
  49. errArgs[0] = method;
  50. errMsg = MessageFormat.format(errMsg, errArgs);
  51. resp.sendError(501, errMsg);
  52. }
  53. }
时间: 2024-10-12 12:22:34

servlet源码的相关文章

Servlet源码初探

年底,公司的事情告一段落,就来捣鼓一下这个Servlet源码,为下一步的spingmvc源码初探做准备 1.Servlet接口 public interface Servlet { void init(ServletConfig var1) throws ServletException; ServletConfig getServletConfig(); void service(ServletRequest var1, ServletResponse var2) throws Servlet

Servlet源码分析

Servlet API的核心就是javax.servlet.Servlet接口,所有的Servlet 类(抽象的或者自己写的)都必须实现这个接口.在Servlet接口中定义了5个方法,其中有3个方法是由Servlet 容器在Servlet的生命周期的不同阶段来调用的特定方法. 先看javax.servlet.servlet接口源码: Java代码 package javax.servlet;   //Tomcat源码版本:6.0.20 import java.io.IOException; pu

Servlet源码解析:Servlet接口及其重要子类

 Servlet是基于Java技术的,容器托管的,用于生成动态内容的web组件.Servlet接口是Java Servlet API的核心抽象.首先我们来看看它的源码: public interface Servlet { /** * 被servlet容器在实例化servlet后调用该方法表示该servlet已经被装载,以服务的形式提供给客户 * @param config * @throws ServletException */ public void init(ServletConfi

Servlet源码解析:Session、Request以及Response

首先我们来看看ServletRequest的源码: public interface ServletRequest { //获取request的属性(注意不是请求参数) public Object getAttribute(String name); //获取request的所有属性的名字 public Enumeration<String> getAttributeNames(); //获取request编码 public String getCharacterEncoding(); //设

javax.servlet.Servlet源码分析

要编写一个Servlet,必然要实现javax.servlet.Servlet接口 源码如下package javax.servlet;import java.io.IOException; public interface Servlet { /* 此方法负责初始化Servlet对象,一旦Servlet容器创建好Servlet对象,那么一切初始化操作由这个方法完成. init()方法执行成功后,这个Servlet才能放入服务中,被客户端请求到. 发生妨碍servlet正常操作时,抛出Servl

eclipse查看servlet源码

一.源码下载 1.打开tomcat官网:http://tomcat.apache.org/    , 点击右侧下载菜单(以tomcat-7为例)进入下载页面:http://tomcat.apache.org/download-70.cgi 2.在下载页面:有Binary Distributions和Source Code Distributions两种资源,我们查看源码,下载源文件:Source Code Distributions(选择zip版本下载) 二.查看 在项目的Libraries中,

JSP + servlet 源码 实现文件的上传

JSP页面 upLoad.jsp _________________________________ <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><% String path = request.getContextPath(); String basePath = request.getScheme() + "://"

JavaWeb高级:Servlet源码分析

很多东西归根结底是对Servlet源代码的了解,通过学习源代码加深了解Java高级特性

源码解析Servlet和HttpServlet

在编写 Servlet 时需要用到两个用于所有 Servlet 的基本软件包:javax.servlet 和 javax.servlet.http.下面主要介绍 javax.servlet 提供的 Servlet 以及 javax.servlet.http 提供的 HttpServlet 应用编程接口. Servlet源码: package javax.servlet; public interface Servlet {     public abstract void init(Servle