servlet和spring框架的关系
servlet和spring框架的关系:1、Servlet与JSP一起为Web应用开发带来了巨大的贡献,后来出现的众多Java Web应用开发框架都是基于这两种技术的,更确切的说,都是基于Servlet技术的。2、Springmvc的核心是一个DispatcherServlet,并且DispatcherServlet继承自 FrameworkServlet继承自HttpServletBean 继承自HttpServlet(也就是你说的servelt) 本质上是一样的东西。
1、Servlet是什么?
servlet就是一个Java接口,是JavaEE规范的一种,主要是为了扩展Java作为Web服务的功能。
由其他内部厂商如tomcat,JBoss内部实现web的功能。
如一个http请求到来:
容器将请求封装为servlet中的HttpServletRequest对象,调用init(),service()等方法输出response,由容器包装为httpresponse返回给客户端的过程。
2、Spring框架
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
3、关系
1、Servlet与JSP一起为Web应用开发带来了巨大的贡献,后来出现的众多Java Web应用开发框架都是基于这两种技术的,更确切的说,都是基于Servlet技术的。
2、Springmvc的核心是一个DispatcherServlet,并且DispatcherServlet继承自 FrameworkServlet继承自HttpServletBean 继承自HttpServlet(也就是你说的servelt) 本质上是一样的东西。其实就是基于tomcat等这些web容器对我们的CS请求能做更多的事情,如校验,拦截(AOP思想),后期渲染等等,好让我们专注于业务的开发。
servlet、filter和listener是javaweb得三大组成部分。
其中servlet通常是由web.xml统一管理。
而springmvc核心是disparcherservlet为入口。
spring可以管理servlet和springmvc中得javabean,这个意思就是说servlet和springmvc是相对独立的两个servlet,
当你想要在一个继承servlet的实现类中,控制url映射的时候,必须在web.xml配置对应关系,即使你把这个servlet交给spring去管理
他的映射入口依然是web.xml中你配置的那个路径,跟dispatcherservlet没有关系。这就导致了spring中有一个注入的servlet,并且还有一个独立的servlet(可以说是由web.xml管理的),最终如果你在servlet、filter注入属性的时候不成功。