Java项目,bean类,dao包,service包,action包,现在想用action调用数据库中数据,数据在bean里有get set

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java项目,bean类,dao包,service包,action包,现在想用action调用数据库中数据,数据在bean里有get set相关的知识,希望对你有一定的参考价值。

方法,然后写入到jsp页面的text里面,要怎么写?可不可以给写个小例子 或是加QQ说明一下
344173167

dao里创建一个存储数据库查询出来List泛型集合,action调用这个集合
Map request = (Map) ActionContext.getContext().get("request");
request.put("userlist", UserDao.getAllUser());
或是

<c:foreach items="$requestScope.userlist" var="user">
$user.。。。。
</c:foreach>
参考技术A 在 wuyifeitian 的那个基础上 你想要将取到的数据输出到页面当中
你在struts的配置中 配置一个 <result>这里写你要跳转的也面</result> 只要把这个跳转配置了以后
你所取到的值就能传到页面当中 你可以直接用el表达式输出就可以了
参考技术B 不清楚你要表达什么……
如要想调用数据库中的数据,那就去操作数据库呗……方法网上很多!、
如要想把数据展示到页面上,使用jsp标签就行……追问

我想用action逐层调用,获取到bean类里面的数据,现在已经获取到,但要怎么传递到jsp里面,并显示进jsp中的一个text中去呢

追答

得到数据后,可以把数据写到struts的session里面,在jsp页面就可以在session域里面获得数据了。
具体你可以学习了一下struts……网上资料很多! 先把基本流程弄明白啊

java web项目中dao的接口,实现类和service接口,实现类区别

dao实现类里已经完成了基本的CRUD操作,为什么不在jsp页面中直接使用这些dao类呢,而是又写个service类接口和实现方法,例如:
public void deleteBook(String bookId)
Books book=booksDao.getBook(bookId); booksDao.deleteBook(book);
service中的方法还不是来自于dao类吗,为什么多此一举?难道这样做有什么好处?

Dao是数据访问层,用来保存数据。

Service是业务逻辑处理的。

 我们开发程序的目的是为了完成业务功能, 理想的情况下程序中的每一条语句都应该是与业务直接相关的, 例如程序中不应该出现连接数据库, 读取某个字段等纯技术性的操作, 而应该是得到用户A的基本信息等具有业务含义的操作. dao(data access object)层存在的意义在于将与数据持久化相关的函数调用剥离出去, 提供一个具有业务含义的封装层. 原则上说, dao层与utils等帮助类的功能非常类似, 只是更加复杂一些, 需要依赖更多的对象(如DataSource, SessionFactory)等. 如果不需要在程序中屏蔽我们对于特定数据持久层技术的依赖, 例如屏蔽对于Hibernate的依赖, 在dao层我们没有必要采用接口设计. 一些简单的情况下我们甚至可以取消整个dao层, 而直接调用封装好的一些通用dao操作函数, 或者调用通用的EntityDao类等.
    程序开发的过程应该是从业务对象层开始的, 并逐步将纯技术性的函数调用剥离到外部的帮助类中, 同时我们会逐渐发现一些业务操作的特定组合也具有明确的含义, 为了调用的方便, 我们会把它们逐步补充到service层中. 在一般的应用中, 业务逻辑很难稳定到可以抽象出接口的地步, 即一个service接口不会对应于两个不同的实现, 在这种情况下使用接口往往也是没有必要的.
    
    在使用spring的情况下原则上应该避免使用getBean的调用方式, 应该尽量通过注入来获得依赖对象, 但有时我们难免需要直接获取业务对象, 在不使用接口的情况下可以采用如下方式

    class TaskService
        public static TaskService getInstance()
            return (TaskService)BeanLoader.getBean(TaskService.class);
        
    

    在程序中我们可以直接使用TaskService.getInstance()来得到TaskService对象.通过命名规范的约定, 我们可以从类名推导出spring配置文件中的对象名, 因而不需要使用一个额外的硬编码字符串名.

参考技术A 当然有好处了,现在你感觉多此一举是因为需求业务少,若是一个大项目要大量的需求,如果写在一个service里到时会很乱的,写在一个dao类里,可以更清晰更加条理,现在要养成习惯,在工作时会明白的! 参考技术B 你这是没涉及到缓存,如果涉及到的话,service还有对缓存的操作,这样service可以把对缓存和DB的操作封装起来,是的你在上层调用时更清晰。如果只涉及dao,service的意义确实不大。

以上是关于Java项目,bean类,dao包,service包,action包,现在想用action调用数据库中数据,数据在bean里有get set的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb动态书城项目-mysql-Tomcat-mysql步骤教程

spring boot启动不扫描创建bean怎么回事

Java 项目命名规范

普通java类调用spring中的bean

SpringBoot 普通类中获取Bean对象(dao、service...)

如图,各个包之间存在联系,说明每个联系的含义