springMVC源代码阅读之servlet部分<一>servlet部分详解

【一】servlet的概念

【二】一个简单的servlet演示

第一部分:web.xml的配置

<!-- 建立一个原生的selevt,用于重新学习servlet -->
<servlet>
   <servlet-name>sxfServlet</servlet-name>
   <servlet-class>com.yeepay.nobank.sxfservlet.ImgStudyServlet</servlet-class>
      <init-param>
             <!-- init参数-->
             <param-name>myname</param-name>
             <param-value>my name is shangxiaofei</param-value>
       </init-param>
       <!-- servlet的init方法调用时机,当设置为负数或不设置时会在servlet第一次用到时才调用 -->
       <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
   <servlet-name>sxfServlet</servlet-name>
   <url-pattern>/sxf/*</url-pattern>
</servlet-mapping>

第二部分:ImgStudyServlet的源代码

package com.yeepay.nobank.sxfservlet;

import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet的
 * @author shangxiaofei
 *
 */
public class ImgStudyServlet extends HttpServlet{

    /**
     * 在servlet整个生命周期中,只调用一次,用于加载配置信息和做一些初始化动作
     */
    @Override
    public void init(ServletConfig config) throws ServletException {
        System.out.println("ImgStudyServlet.init()调用第一次init方法开始!");
        super.init(config);
        String mynamestrString=config.getInitParameter("myname");
        System.out.println("ImgStudyServlet.init()"+mynamestrString);
        System.out.println("ImgStudyServlet.init()调用第一次init方法结束!");

    }

    /**
     * 当客户端是get请求,调用该方法
     */
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        String param1=req.getParameter("param");
        System.out.println("ImgStudyServlet.doGet([param]===>)"+param1);
    }

    /**
     * 当客户端是post请求,调用该方法
     */
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        String param1=req.getParameter("param");
        System.out.println("ImgStudyServlet.doPost([param]===>)"+param1);
    }

    /**
     * 当servlet销毁的时候,调用该方法,做一些资源清理的工作
     */
    @Override
    public void destroy() {
        System.out.println("ImgStudyServlet.destroy([销毁...................])");
    }

}

第三部分:讲web项目打包,启动tomcat容器。tomcat的启动日志打印启动信息中包含

第三部分:向web项目发送请求http://localhost:8080/nobankcard-web/sxf/s?param=tiantianxiangshanghaohaoxuexi,tomcat打印日志

第四部分:关闭tomcat的时候,tomcat打印的日志

时间: 07-01

springMVC源代码阅读之servlet部分<一>servlet部分详解的相关文章

Servlet 3.0 新特性详解

转自:https://www.ibm.com/developerworks/cn/java/j-lo-servlet30/ Servlet 3.0 新特性详解 张 建平2010 年 4 月 23 日发布 WeiboGoogle+用电子邮件发送本页面 6 Servlet 3.0 新特性概述 Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布.该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发和部署.其

【转】web.xml 中的listener、 filter、servlet 加载顺序及其详解

web.xml 中的listener. filter.servlet 加载顺序及其详解 原文链接 http://www.cnblogs.com/JesseV/archive/2009/11/17/1605015.html 在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.即不会因为 filt

web.xml 中的listener、 filter、servlet 加载顺序及其详解

转自:http://zhxing.iteye.com/blog/399668 在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter.最终得出的结论是:listener -> filter -> servlet 同

servlet资源路径加载详解(3)

1.对于servlet的读取资源文件,要考虑工程文件路径和tomcat服务器的部署后的文件,所以一定要弄清楚加载文件路径位置,同时要考虑采用哪种方式: 一般有三种方式: (1).采用传统方式即jdk中提供的InputStream is = new FileInputStream("config.properties"); (2).采用ServletContext对象加载 (3).采用类加载器的方式 2.用代码检验 package cn.wwh.www.web.servlet; impo

Servlet中Web.xml配置详解(二)

5.2 分配JSP初始化参数给JSP页面提供初始化参数在三个方面不同于给servlet提供初始化参数.1)使用jsp-file而不是servlet-class.因此,WEB-INF/web.xml文件的servlet元素如下所示:<servlet><servlet-name>PageName</servlet-name><jsp-file>/RealPage.jsp</jsp-file><init-param><param-na

(转载)web.xml 中的listener、 filter、servlet 加载顺序及其详解

首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.  但不会因为 filter 写在 listener 的前面而会先加载 filter.  最终得出的结论是:listener -> filter -> servlet 同时还存在着这样一种配置节:context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息.我们的 listener, filter 等在初始化时会用到这些上下文中的信息,那么 context-param 配置节是不是

(转)web.xml 中的listener、 filter、servlet 加载顺序及其详解

在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter.最终得出的结论是:listener -> filter -> servlet 同时还存在着这样一种配置节:context-param,它用于向 Servlet

转:web.xml 中的listener、 filter、servlet 加载顺序及其详解

在项目中总会遇到一些关于加载的优先级问题,刚刚就遇到了一个问题,由于项目中使用了quartz任务调度,quartz在web.xml中是使用listener进行监听的,使得在tomcat启动的时候能马上检查数据库查看那些任务未被按时执行,而数据库的配置信息在是在web.xml中使用servlet配置的,导致tomcat启动后在执行quartz任务时报空指针,原因就是servlet中的数据库连接信息未被加载.网上查询了下web.xml中配置的加载优先级: 首先可以肯定的是,加载顺序与它们在 web.

[转]Servlet 3.0 新特性详解

原文地址:http://blog.csdn.net/xiazdong/article/details/7208316 Servlet 3.0 新特性概览 1.Servlet.Filter.Listener无需在web.xml中进行配置,可以通过Annotation进行配置: 2.模块化编程,即将各个Servlet模块化,将配置文件也分开配置. 3.Servlet异步处理,应对复杂业务处理: 4.异步Listener,对于异步处理的创建.完成等进行监听: 5. 文件上传API简化: tomcat