Servlet

Servlet的开发​

  • Servlet是一个特殊的Java类,必须继承HttpServlet
  • doGet 响应客户顿的GET请求
  • doPost 响应客户端的POST请求 (重写service()方法响应客户端所有请求)
  • init( ServletConfig config) 创建servlet实例时,初始化Servlet资源
  • destory() 销毁实例时,自动调用该方法的回收资源

Servlet的配置

  • 1、在Servlet类中使用@WebServlet注解进行配置
  • 2、在web.xml文件中进行配置
    <!-- 配置Servlet的名字 -->
        <servlet>
            <!-- 指定Servlet的名字,
                相当于指定@WebServlet的name属性 -->
            <servlet-name>firstServlet</servlet-name>
            <!-- 指定Servlet的实现类 -->
            <servlet-class>lee.FirstServlet</servlet-class>
        </servlet>
        <!-- 配置Servlet的URL -->
        <servlet-mapping>
            <!-- 指定Servlet的名字 -->
            <servlet-name>firstServlet</servlet-name>
            <!-- 指定Servlet映射的URL地址,
                相当于指定@WebServlet的urlPatterns属性-->
            <url-pattern>/aa</url-pattern>
        </servlet-mapping>

JSP/Servlet的生命周期

创建实例————初始化————响应请求————资源回收————实例被销毁

创建实例的两个时机

  • (1)用户请求时
  • (2)应用启动时
 @WebServlet(loadOnStartup=1) //整型值越小,Servlet就越先实例化
    public class TimerServlet extends HttpServlet
    {
        public void init(ServletConfig config)throws ServletException
        {
            super.init(config);
            Timer t = new Timer(1000,new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    System.out.println(new Date());
                }
            });
            t.start();
        }
    }

访问Servlet的配置参数

@WebServlet(name="testServlet"
        , urlPatterns={"/testServlet"}
        , initParams={
            @WebInitParam(name="driver", value="com.mysql.jdbc.Driver"),
            @WebInitParam(name="url", value="jdbc:mysql://localhost:3306/javaee"),
            @WebInitParam(name="user", value="root"),
            @WebInitParam(name="pass", value="32147")})
    // 获取ServletConfig对象
    ServletConfig config = getServletConfig();
    // 通过ServletConfig对象获取配置参数:dirver
    String driver = config.getInitParameter("driver");

Servlet3.0新特性

注解

@WebServlet :用于修饰一个Servlet类,用于部署Servlet类
@WebInitParam
@WebListener
@WebFilter
@MultipartConfig:用于修饰Servlet,指定该Servlet将会负责处理multipart/form-data类型的请求(主要用于文件上传)

Web模块支持

异步处理

改进的Servlet API

HttpServletRequest增加了对文件上传的支持
Part getPart(String name):根据名称获取文件上传域
Collection getParts():获取所有的文件的上传域

上传文件要为表单域设置enctype属性
application/x-www-form-urlencoded:默认,只处理value属性值
multipart/form=data:以二进制流的方式来处理表单数据(上传文件)
text/plain:当表单的action属性为mailto:URL的形式时比较方便

ServletContext允许通过编程的方式动态注册Servlet、Filter

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值