Tomcat Servlet

本文详细介绍了Servlet规范的学习计划,包括Servlet实现类的开发,如基于XML和注解方式的前后端交互,以及Servlet对象的生命周期。还讨论了HttpServletResponse的重定向,HttpServletRequest的请求转发,Cookie和Session的使用。同时,讲解了Http状态码,Servlet数据共享,过滤器接口Filter的实现,监听器接口Listener的应用,并探讨了Servlet之间的数据共享和AJAX技术。
摘要由CSDN通过智能技术生成

Servlet规范

1、Servlet 规范是SUN公司提供一套规范
2、Servlet 规范管理所有的Http服务器
3、Servlet 规范禁止Http服务器直接调用网站中普通Java类(entity/util/dao/service)
4、Servlet 规范要求Http服务器调用【Servlet接口实现类】来帮助Http服务器对普通Java类进行调用
5、Servlet 规范为了更好帮助Http服务器调用网站中Java类,还提供了一组辅助接口。
6、Servlet 规范只提供了辅助的接口并没有提供接口实现类。这些辅助接口的实现类由Http服务器厂商提供
7、Tomcat服务器对于Servlet规范中提供的接口实现类存放(servlet-api.java)
8、所有Servlet接口的实现类的实例对象只能由Http服务器创建

Servlet规范学习计划

1、掌握Servlet接口实现类开发
	基于XML文件方式:通过指定标签告知Tomcat服务器,当前项目那些类是Servlet接口实现类基于注解方式:通过注解去关联Servlet接口实现类,从而让Http服务器了解当前类的身份
2、掌握HttpServletRequest和HttpServletResponse使用
3、掌握Servlet之间相互调用规则(服务(service)之间调用)
4、掌握Servlet之间数据共享规则
5、了解监听器接口和过滤器接口(SpringMVC框架--ContextLoaderListener监听器接口实现类和CharacterEncodingFilter过滤器接口实现类

Servlet实现类开发

定义OneServlet类继承实现类

//OneServlet extends HttpServlet extends GenericServlet implements Servlet, ServletConfig, Serializable
public class OneServlet extends HttpServlet {
   
	//当浏览器以GET方式发送请求,向Tomcat申请OneServlet时,Tomcat负责调用OneServlet中的doGet
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
		resp.setStatus(303);
		resp.addCookie(new Cookie("cookie", "123123123"));
		System.out.println("success");
	}

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

基于XML文件方式实现前后端交互

<!--locahost:8080/tomcat/one-->
<!--第一步:将OneServlet的接口实现类的全限定名称交给Tomcat-->
<servlet>
    <servlet-name>key1</servlet-name>
    <servlet-class>icu.sandink.control.OneServlet</servlet-class>
</servlet>
<!--第二步:为Servlet接口实现类提供一个对外别名-->
<servlet-mapping>
    <servlet-name>key1</servlet-name>
    <!--servlet接口实现类对外的别名应该以‘/’开头-->
    <url-pattern>/one</url-pattern>
</servlet-mapping>

基于@注解方式实现前后端交互

//TwoServlet.class.getDeclaredAnnotation(WebServlet.class);
//locahost:8080/tomcat/two
@WebServlet(name = "TwoServlet", value = "/two")
public class TwoServlet extends HttpServlet {
   
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
		System.out.println("this is two");
	}
}

Servlet对象的生命周期

1、Servlet规范中,要求所有规范中相关接口的实现类的实例对象只能由Http服务器来创建与初始化
2、实例对象创建时机:
	1)在正常情况下,只有在Http服务器接收到用户对某个Servlet的请求时,才会创建这个Servlet的实例对象
	2)在特殊情况下,可以通过“loadonstartup”通知Http服务器在启动过程中来创建指定的Servlet实例对象——SpringMVC框架(DispatcherServlet)
3、Servlet实例对象创建个数:
	为了节省内存。在Http服务器运行期间【一个Servlet接口实现类只能被创建一个实例对象】
4、销毁时机:
	在Tomcat准备关闭时,负责销毁掉所有的Servlet实例对象

在OneServlet类中定义私有属性

Tomcat在调用类后会自动调用init方法

public class OneServlet extends HttpServlet {
   
	private Integer sId;
	private
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值