Servlet学习

Servlet长啥样

package javax.servlet;

import java.io.IOException;

public interface Servlet {
	//init Servlet初始化方法
    void init(ServletConfig var1) throws ServletException;

	//获取Servlet的配置信息  作用不大
    ServletConfig getServletConfig();
	
	//service  接收拦截到的请求后调用的方法,会被调用多次
	//抛出 ServletException 和 IOException
    void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
    
	//获取Servlet详细信息
    String getServletInfo();
	
	//Servlet走完生命周期后调用一次
    void destroy();
}

怎么使用Servlet

一,Servlet是一个接口我们需要实现这个接口
首先 实现 Servlet 接口

public class DaxianServlet implements Servlet {

    public DaxianServlet(){
        System.out.println("初始化Servlertv");
    }

    @Override
    public void init() throws ServletException {
    	System.out.println("InIt Servlertv");
//        super.init();
    }
	
	//看见没 你都有了requst (请求) 和 response (响应) 了 还怕啥
    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
//        super.service(req, res);
        HttpServletRequest request = (HttpServletRequest) req;

        BufferedWriter bufferedWriter = new BufferedWriter(res.getWriter());
        bufferedWriter.write("滚,不接受请求");
    }

    @Override
    public void destroy() {
//        super.destroy();
        System.out.println("servlet任务结束");
    }
}

二,如果我懒 就继承HttpServlet

public class DaxianServlet extends HttpServlet{
	//重写doGet()

	//重写doPost()

	//我真的很懒
}

好了,废话不多说,配置了怎么用呢?

在这里插入图片描述

服务器配置Servlet WEB.XML

/* 注意不完全是这一些,只是方便理解 */
1,tomcat会读取我们web.xml文件 或者 java提供的web接口文件(感兴趣可以去了解)
2,new XXXServlet ,就是用你的无参构造创建Servlet对象
3,调用 init 方法
4,拦截到你的配置拦截的请求,调用service()方法
5,你关闭tomcat时 调用你的Servlet 的 destroy() 方法·

Web.xml放这里
为啥?
Tomcat说的
在这里插入图片描述

<?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类  可以配置多个吗? 那必须可以 
     					   name能重复吗? 抱歉,滚  */
    <servlet>
        <servlet-name>test1</servlet-name>
        <servlet-class>com.daxian.httpservlet.DaxianServlet</servlet-class>
    </servlet>
	/* 配置对应的Servlet 的请求拦截 */
    <servlet-mapping>
        <servlet-name>test1</servlet-name>
        /* 这玩意可以配置多个 */
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

怎么启动Tomcat?

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值