美文网首页Servlet学习专栏笔记
什么是Serlvet?作用?怎么编写?

什么是Serlvet?作用?怎么编写?

作者: SeptemberNotes | 来源:发表于2018-11-22 11:03 被阅读0次

什么是Serlvet?

Servlet是运行在服务器端的程序,用于处理及响应客户端的请求。
Servlet是个特殊的Java类,必须继承HttpServlet。每个Servlet可以响应客户端的请求

Servlet的作用?

Servlet的作用是为客户提供服务。servlet的角色是接受一个客户的请求,再返回一个响应。请求可能非常简单,例如:给我提供一个欢迎页面;也可能非常复杂,例如:为当前的购物车结账,这个请求会带一些客户端传来的参数,servlet需要知道自己如何使用请求中的参数,还需要知道该返回什么样的响应。

实现Servlet接口编写Servlet程序

1、创建一个自定义类,实现Serlvet接口

public class MyServlet03 implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {

    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

我们发现有5个方法需要重写,有init【初始化】,destroy【销毁】,service【服务】,ServletConfig【Servlet配置】,getServletInfo【Serlvet信息】。
注意:service()方法是写逻辑代码的地方

调用ServletResponse对象的方法向浏览器输出HelloWorld

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        //调用ServletResponse对象的方法向浏览器输出HelloWorld
        servletResponse.setContentType("text/html;charset=utf-8");
        servletResponse.getWriter().write("输出HelloWorld!");
    }

2、光写了Servlet是不行的,Tomcat还要知道浏览器怎么访问这个Servlet,所以要配置web.xml文件

    <servlet>
        <servlet-name>MyServlet03</servlet-name>
        <servlet-class>com.jiuyue.servlet.MyServlet03</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServlet03</servlet-name>
        <url-pattern>/MyServlet03</url-pattern>
    </servlet-mapping>

继承HttpServlet,编写Servlet程序

1、创建一个自定义类,继承HttpServlet类

public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doGet请求相应");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.service(req, resp);
        resp.getWriter().write("service写业务逻辑输出HelloWorld!");
    }

    @Override
    public void destroy() {
        super.destroy();
    }

    @Override
    public ServletConfig getServletConfig() {
        return super.getServletConfig();
    }

    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

2、配置web.xml文件

    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>com.jiuyue.servlet.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/MyServlet</url-pattern>
    </servlet-mapping>

@WebServlet的使用方法

在servlet3.0以后,我们可以不用再web.xml里面配置servlet,只需要加上@WebServlet注解就可以修改该servlet的属性了。

1、直接新建一个Servlet类

//urlPatterns指定访问的url
@WebServlet(name = "MyServlet02",urlPatterns = "/MyServlet02")
public class MyServlet02 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        response.getWriter().write("到达doPost请求");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //可以在doGet调用doPost方法
        //doPost(request,response);
        response.setContentType("text/html;charset=UTF-8");
        response.getWriter().write("到达doGet请求");
    }
}

下面是@WebServlet的属性列表。

“关注我的微信公众号,一起进步“

相关文章

  • 什么是Serlvet?作用?怎么编写?

    什么是Serlvet? Servlet是运行在服务器端的程序,用于处理及响应客户端的请求。Servlet是个特殊的...

  • Servlet入门(一)

    什么是Serlvet? Servlet其实就是一个遵循Servlet开发的java类。Serlvet是由服务器调用...

  • Servlet第一篇【介绍Servlet、HTTP协议、WEB目

    什么是Serlvet? Servlet其实就是一个遵循Servlet开发的java类。Serlvet是由服务器调用...

  • day02

    Servlet入门 1.1Serlvet介绍 文档总结: 什么是servlet?处理请求和响应的java程序。 怎...

  • Serlvet总结

    servlet的体系结构:servlet:接口|GenericServlet:抽象类|HttpServlet:抽象...

  • 什么是FAQ?怎么编写FAQ文档?

    “FAQ”这个关键词可能很多人都见过,但如果不是行业内的人大概不会知道它的意思,所以这篇文章就介绍了什么是FAQ以...

  • Servlet学习笔记1: Servlet与Http介绍

    1. 什么是Serlvet? 处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet...

  • Css样式简介

    什么是css 定义:层叠样式表作用:用来控制html标签的样式,再美化网页中起到非常重要的作用 css的编写格式是...

  • 学习R记录 <- 函数

    对应《学习R》中第六章,学习之后整理。 本章目标 函数由什么组成,怎么样编写函数 变量的作用域 函数 R允许用户自...

  • 渲染机制

    什么是DOCTYPE及作用? 文档声明,它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。 ...

网友评论

    本文标题:什么是Serlvet?作用?怎么编写?

    本文链接:https://www.haomeiwen.com/subject/xrakqqtx.html