2020-11-21Servlet

1.在Tomcat中编写Servlet

1.1.自己定义类
1.2.继承Tomcat提供的一个规则HttpServlet
1.3.重写一个方法service
1.4.方法里有两个参数HttpServletRequest和HttpServletResponse
1.5.抛出两个异常ServletException和IOException
1.6.编写工程内的配置文件web.xml

----------------------

1.Servlet对象的管理机制

1.1.Servlet对象是单例的

1.2.采用生命周期托管的方式实现单例设计模式

1.3.Servlet对象是延迟加载的方式

1.4.Servlet对象有三个生命周期,体现如下

1.4.1.对象创建时 init() init(ServletConfig config)

1.4.2.对象使用时 service(HttpServletRequest req, HttpServletResponse resp)

1.4.3.对象回收时 destroy()

1.5.通过修改web.xml配置文件改变Servlet对象的加载方式,从默认延迟加载修改为立即加载

1.6.在Servlet对象创建时,通过配置携带信息,让Servlet对象读取,配置之后通过init(ServletConfig config)方法中进行读取

		String value = config.getInitParameter("key");
        Enumeration enu = config.getInitParameterNames();
        String name = config.getServletName();
        //全局上下文对象
        ServletContext application = config.getServletContext();

1.7.Servlet类继承的关系

自己写一个类,继承HttpServlet,继承GenericServlet,实现Servlet, ServletConfig, Serializable

Servlet接口中含有五个方法
	void init(ServletConfig var1) throws ServletException;

    ServletConfig getServletConfig();

    void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;

    String getServletInfo();

    void destroy();
ServletConfig接口中含有五个方法
	String getServletName();

    ServletContext getServletContext();

    String getInitParameter(String var1);

    Enumeration<String> getInitParameterNames();
GenericServlet抽象类体现的是缺省适配器模式

将上述两个接口中的八个抽象方法进行实现,只留了service方法,让用户添加逻辑使用
添加两个独有方法
init() log()

HttpServlet体现了对于协议的具体化

将父类的service方法添加实现,目的是将两个跨协议的参数转化成HTTP协议
自己添加了独有的protected 修饰的sevice方法,参数是HttpServletRequest req, HttpServletResponse resp
添加独有方法的目的是通过请求发送的方式get/post,找寻对应具体的执行方法doGet/doPost

1.8.如何使用

自己写一个类,类名是XXXController
继承HttpServlet或继承GenericServlet或实现servlet接口
重写方法service或doGet/doPost
方法的参数是HttpServletRequest req, HttpServletResponse resp
方法的修饰符和返回值protected/public void
方法异常ServletException, IOException
工程的web文件夹中有WEB-INF文件夹
web.xml配置文件目的是请求与真实Controller的对应关系
浏览器发送请求,访问操作资源
404 没有找到资源
405 没有找到执行方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值