Servlet介绍及简单使用

Servlet简介

开发者通过实现Servlet接口书写业务操作,web容器通过Servlet接口调用方法,可以屏蔽开发者业务量的差异
Servlet由容器来管理生命周期web服务器交互

Servlet的API结构

在Servlet规范中,Servlet是业务接口,提供servlet方法,供开发者业务操作,ServletConfig是配置接口,用于配置servlet相关信息

GenericServlet同时实现了Servlet接口和ServletConfig接口,并为两个接口的大部分方法提供 了简单实现,但是没有实现service方法,该方法需要由不同的类根据不同的协议特点分别重写

HttpServlet是GenericServlet的子类,根据Http协议的特点重写了service方法,该service方法根据不同的请求方式,分别调用doXXX(),如果开发者使用http学协议,那么,只需要继承httpServlet,重写doGet和doPost就可以了

servlet编码

public class FirsServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        设置请求信息的编码集,只对Post有效
        req.setCharacterEncoding("utf-8");
//        设置响应信息的MIME类型和编码集
        resp.setContentType("text/html;charset=utf-8");
//        向客户端输出文本
        resp.getWriter().println("hello,how你好中国");
    }

servlet注册

//        第一个参数为上下文对象,第二个参数为servlet名称,第三个参数未servlet实现类对象
        Wrapper servlet =  tomcat.addServlet(context,"first" ,new FirsServlet());


//        表示容器启动就直接实例化servlet
        servlet.setLoadOnStartup(1);

//        配置servlet的请求路径
        servlet.addMapping("/fir");

servlet请求路径

精确匹配:
/test  客户端以/test路径请求可以访问servlet
扩展匹配:
*.do  客户端以.do结尾的路径请求可以访问servlet
路径匹配:
 /user/*开始的目录路径请求可以访问servlet

servlet生命周期

1,容器加载并实例化Servlet

2,调用init方法完成初始化

3,当请求到达,调用service方法,处理请求,产生响应

4,销毁阶段,调用destroy()方法,完成资源清理

5,在整个生命周期中,1,2,4都只进行一次,只有三部步,每次请求都会执行,而servlet实现类是一个单实例,多线程的一个类

得到表单数据

 String info= "";
//       根据表单名,得到表单值
       String userName  = req.getParameter("userName");
        String birthday  = req.getParameter("birthday");
       info+="姓名"+userName+"生日"+birthday;

String[] likeArray = req.getParameterValues("like");
        info+="爱好"+ Arrays.toString(likeArray)+"<br>";
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值