2阶——Servlet 与 服务的协议

Posted gaosj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2阶——Servlet 与 服务的协议相关的知识,希望对你有一定的参考价值。

1创建一个简单的servlet(servlet3.0开始支持注解配置

      1创建一个javaee项目

       2定义一个类,实现Httpservlet接口

public class ServletDemo01 extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8"); // 处理响应乱码问题:字节流需getBytes("UTF-8")

        response.getWriter().write("hello servlet");
        // str = new String(str.getBytes("ISO-8859-1"), "UTF-8");   // 处理get请求乱码问题
    }

    protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
        doGet(request, response); // 主要加这一句
    }

}

       3实现接口中的抽象类

       4在web.xml文件中配置servlet

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>ServletDemo01</servlet-name>    <!--名字可以自定义 -->
        <servlet-class>cn.servlet1.gsj.ServletDemo01</servlet-class> <!--写自己编写的那个servlet程序的完整路径-->
     <load-on-startup>1</load-on-startup> <!--提前创建servlet-->
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletDemo01</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

 

2 servlet的生命周期

servlet存在线程安全问题,解决方式是尽量不要定义成员变量。如果需要定义那么不要为定义的成员变量赋值!

技术图片

 

 

 

3 Servlet的体系结构

 

 

 技术图片

 

 

 

 

  

技术图片

技术图片

 

以上是关于2阶——Servlet 与 服务的协议的主要内容,如果未能解决你的问题,请参考以下文章

servlet和filter的区别

servlet,过滤器,监听器,拦截器的区别

jsp初识servlet转发转发与重定向的比较

servlet,filter,listener,intercepter区别

servlet

Java Web -- Http协议 & Servlet