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来控制事务(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层有啥不同的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb三层架构

java中dao层和service层的区别是啥?

Spring整合javaweb的基本步骤简单记录

java中dao层和service层的区别是啥

java中dao层和service层的区别,为啥要用service

java中dao层和service层的区别是啥?