关于java web 项目 架构的规划问题

问题描述

我从事javaweb开发已有两年,最常用的是struts(webwork,struts2)+spring+hibernate,但对项目的架构设计一直存在以下几个疑问:1.action的定义依据:是一个菜单定义一个action类,还是为一个表定义一个实体,还是根据系统要完成的功能单元来定义action?2.服务层的定义:是一个模块定义一个service类吧,我觉得这样好一点,一个service包含几个dao类,不有没有更好的方式,还望高人点拨。3.dao的定义:是一个pojo定义一个dao类还是根据一个功能单元来定义一个dao类?4.action、service、dao和pojo之间的关系。不知各位大侠在自己的项目中是如何规划项目模块的?希望有高人从理论架构角度给予指点。

解决方案

解决方案二:
我也知道action负责页面调度、service负责业务逻辑、dao负责数据库操作,但对他们之间的个数和对应关系一直感到很困惑。

时间: 2024-10-29 08:10:11

关于java web 项目 架构的规划问题的相关文章

Intellij IDEA采用Maven+Spring MVC+Hibernate的架构搭建一个java web项目

原文:Java web 项目搭建 Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring+Hibernate的架构搭建一个java web项目 Spring MVC+Spring+Hibernate结构介绍如下: Spring MVCSpring MVC的职责是作为web层框架,实现了我们常见的MVC模式 SpringSpring 作为服务层,利用自身特性IOC.AOP,提供数据从DA

java web项目用redis怎样实现oracle缓存,如何保持oracle和redis的同步?

问题描述 java web项目用redis怎样实现oracle缓存,如何保持oracle和redis的同步? java web项目用redis实现oracle缓存,实现思路是怎样的,怎样保持oracle和redis的同步? 解决方案 可以使用oracle中的row_scn,,从oracle中读出的row_scn和redis中保存的相比,如果大于redis中的就更新redis,如果oracle数据更新,重新从oracle中读一遍出来. 数据库高可用架构(MySQL.Oracle.MongoDB.R

java web项目答辩答辩题总结(书本网上语言答辩+自己的语言答辩)

答辩每个人的总分为1.5分.每个人主要问3个问题. 开发流程===>系统架构====>项目模块+功能===>项目得失重定向与转发:?九个隐式对象?get与post的区辨:?jsp有静态包含,动态包含,两者的区辨:?什么是MVC:?web系统架构:? java web项目答辩总结试题 注释:用楷体写的就是用自己组织的话来回答老师的问题. 1 http协议全名和特点 (答辩老师:你对HTTP的是怎么理解的: 答辩同学:首先HTTP是一种超文本传输协议,也是一种无状态的协议.        

Java web项目为什么要单独配置环境变量?

问题描述 Java web项目为什么要单独配置环境变量? Spring的配置文件中的代码如下: class=""org.springframework.beans.factory.config.PropertyPlaceholderConfigurer""> 在运行项目的时候需要配置环境变量之后才能运行,这事为什么呢?希望大神们可以帮我解惑一下,谢谢! 解决方案 这不是配置环境变量 写xxx.properties文件 是为了方便以后项目完成后,在不改变源码的情

Java Web项目经常提示错误

Java Web项目经常提示错误"This project needs to migrate WTP metadata",简单的解决方法就是右击项目然后选择Validate,做完validate后错误就消失了. 出处:http://stevex.blog.51cto.com/4300375/941669

eclipse上搭建maven多模块Java Web项目

1.模块化需求及项目模块说明 手头上有个已上线的系统,但因老板的特殊要求,系统需要不断的修改.还有就是公司市场部不定期地在举行一些微信活动,每一个活动都是周期性的,活动完了这个功能就要在系统中移除. 系统中就有三种模块:已经在系统中正常运行不需要再变更的模块.经常性变更的模块.用完就要移除的活动模块. 所以,我们需要把项目分成了下面几个模块. 简单说明一下: timetable-common是常用工具包存放的模块. wechat-api是微信接口模块,此模块用到了timetable-common

Java Web项目中使用Socket通信多线程、长连接的方法_java

很多时候在javaweb项目中我们需要用到Socket通信来实现功能,在web中使用Socket我们需要建立一个监听程序,在程序启动时,启动socket监听.我们的应用场景是在java项目中,需要外接如一个硬件设备,通过tcp通信,获取设备传上来的数据,并对数据做回应. 先看一下web的监听代码: import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class

java web项目利用freeMarker导出word

问题描述 java web项目利用freeMarker导出word 在项目中导出word,利用freeMarker有这样几个问题,求解答 1.如果单独用java项目是可以的,但是放到项目中导出的word打开时会说被程序锁定,然后打开什么内容都没有,查看属性是有字节数. 2.导出的word地址是在后台控制的,如何做到在浏览器弹框选择地址? 解决方案 你是导出word还是导出Excel?导出一般都是调用浏览器本身的下载功能,有的浏览器会让你选择路径,比如360浏览器,有的就不会了,你如果要做一个通用

svn 自动提交java web 项目到tomcat服务器

问题描述 svn 自动提交java web 项目到tomcat服务器 如配置svn提交后自动将javaweb项目更行到自动tomcat服务器中, 情节是这样:团队开发使用svn 在现阶段测试项目中不同的开发人员使用的tomcat服务器,这样造成一些数据不是同步的,现在想配置下让团队开发使用用一个tomcat服务器,这样所操作都是同步的.就想到使用svn自动提交 或者MyEclipse远程使用tomcat 有哪个大神会配置呢? 解决方案 [转]java web项目改名之后tomcat服务器项目自动