Servlet

@【TOC】

1.servlet技术

a)什么是servlet

①servlet是javaee的规范之一。规范就是接口
②servlet就是Javaweb的三大组件之一。三大组件分别是:servlet程序,Filter过滤器,Listener监听器
③servlet是运行在服务器上的一个Java小程序,他可以接受客户端发过来的请求,并响应数据给客户端。

b) 手动实现Servlet程序

①编写一个类去实现servlet接口

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

    }

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

    /**
     * 装门用来请求处理和响应的
     * @param servletRequest
     * @param servletResponse
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("HelloServlet被访问了");
    }

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

    @Override
    public void destroy() {

    }
}

②实现service方法,处理请求,并响应数据

 @Override
   public void init(ServletConfig servletConfig) throws ServletException {

   }

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

   /**
    * 装门用来请求处理和响应的
    * @param servletRequest
    * @param servletResponse
    * @throws ServletException
    * @throws IOException
    */
   @Override
   public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
       System.out.println("HelloServlet被访问了");
   }

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

   @Override
   public void destroy() {

   }

③到web.xml中去配置servlet程序的访问地址。

    <servlet>
<!--   给Servlet程序起一个别名     -->
     <servlet-name>HelloServlet</servlet-name>
<!--   Servlet程序的全类名     -->
     <servlet-class>com.atguigu.servlet.HelloServlet</servlet-class>
 </servlet>


<!-- 告诉服务器,我们当前配置的地址给哪个Servlet使用   -->
 <servlet-mapping>
     <servlet-name>HelloServlet</servlet-name>

<!--  /斜杠在服务器解析的时候,表示地址为:http://ip/:port/工程路径
    /hello 鄙视地址为:http://ip:port/工程路径/hello-->
     <url-pattern>/hello</url-pattern>
 </servlet-mapping>

d)servlet 生命周期

①执行Servlet构造器方法
public HelloServlet
②执行init方法

@Override
public void init(ServletConfig servletConfig) throws ServletException {

}

③执行service方法
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println(“HelloServlet被访问了”);
}

④执行destroy]

@Override
public void destroy() {

}

第①②,是在一次创建Servlet程序会调用
第③步,每次访问都会调用
第④,web工程停止时调用

e)GET和POST请求的分发处理

f) 通过继承HttpServlet实现Servlet程序

g) Servlet类的继承体系

2.)ServletConfig类


3.) ServletContext类


4.)Http协议

①什么是Http协议
协议是指双方或者多方,相互约好,大家都需要遵守的规则,叫协议
所谓Http协议,就是指,客户端和服务器之间的通信时,发送的数据,需要遵守的规则,叫做Http规则
Http协议中的数据又叫作报文。

②请求的Http协议格式
客户端给服务器发送数据叫请求
服务器给客户端传回数据叫响应。
a)GET请求
1.请求行
(1)请求的方式 ``````````GET
(2)请求的资源路径【+?+请求参数】
(3)请求的版本协议号 `````Http/1.1
2.请求头
key:value   组成  不同的键值对表示不同的含义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值