javaWeb中servlet层和service层有啥不同
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaWeb中servlet层和service层有啥不同相关的知识,希望对你有一定的参考价值。
不是说业务逻辑要分开写吗?但我看到有一个教程是把业务逻辑写在servlet里面的。servlet是写业务逻辑的地方吗?
这两个完全是两个领域内的概念。servlet是j2ee标准中用于执行服务端程序的小程序。从实现上讲,Servlet可以响应任何类型的请求,一般用来扩展基于HTTP协议的Web服务器,即用于生成网页。
service是一个开发层次的概念。现阶段j2ee应用的后端一般分为web、service、dao三个层次。web层处理页面请求的解析,然后发数据给service层,service层进行具体的业务处理(可以调用dao)。 参考技术A service主要写业务逻辑,servlet用于拦截请求,也可以写一些逻辑处理追问
那么有service的必要么?
参考技术B 业务写在service...追问我看一个教程怎么把servlet也归成了业务逻辑层?
本回答被提问者采纳Spring整合javaweb的基本步骤简单记录
Spring整合javaweb
Spring与javaweb整合使用
Spring来控制事务(dao—jdbctemplate)
所有组件@Autowired
管理数据库
Spring整合javaweb
1.导入相关坐标
2.写配置
1.将所有组件加入容器中
1.@Controller: servlet层 目前不能标注在servlet层
2.@Service:业务逻辑层
3.@Repository:dao层
4.@Component:其他组件
Tips: 可以写一个WebUtils类,里面封装一个静态的getBean方法,可以获取容器中的Bean
2.每个组件之间的自动装配
3.配置出声明式事务,事务管理器控制数据库连接池
IOC容器的创建和销毁都要在合适的时机完成
可以通过Spring的监听器,在项目创建的时候,监听器帮我们创建容器,在项目销毁时,监听器帮我们销毁容器
监听器创建好的IOC容器在ContextLoader类里面
下面这个属性就是IOC容器
private WebApplicationContext conte
有一个静态方法能获取
getCurrentWebApplicationContext()
xml配置监听器
<!--全局初始化参数-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!--配置监听器-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
获取容器对象的两种方法:
ContextLoader.getCurrentWebApplicationContext()
或者
WebApplicationContextUtils.getWebApplicationContext(ServletContext servletContext )
以上是关于javaWeb中servlet层和service层有啥不同的主要内容,如果未能解决你的问题,请参考以下文章