哪位高手赐教java和jsp,等编程规范
展开全部
1.struts
struts框架具组件模块化灵性重用性优点同简化基于MVCweb应用程序发
优点:
Struts跟Tomcat、Turbine等诸Apache项目源软件优点使发者能更深入解其内部实现机制
除外Struts优点主要集体现两面:Taglib页面导航TaglibStruts标记库灵用能提高发效率另外目前内JSP发者言除使
用JSP自带用标记外少发自标记或许Struts起点
关于页面导航我认今发展向事实做使系统脉络更加清晰通配置文件即握整系统各部间联系于期维护着
莫处尤其另批发者接手项目种优势体现更加明显
另外struts业界"标准"(功案例)习资源丰富HTML标签非优秀
缺点:
TaglibStruts优势于初者言却需要持续习程甚至打乱网页编写习惯习惯觉真棒
StrutsMVCController三获结构更加清晰同增加系统复杂度
ActionForms使用便、进行单元测试(StrutsTestCase能用于集)
【IT168技术文档】
Struts跟Tomcat、Turbine等诸Apache项目源软件优点使发者能更深入解其内部实现机制 Struts放源码框架创建使发者
构建基于Java ServletJavaServer Pages(JSP)技术Web应用更加容易Struts框架放者提供统标准框架通使用Struts作基础发者能够更专注
于应用程序商业逻辑Struts框架本身使用Java ServletJavaServer Pages技术种Model-View-Controller(MVC)实现.
具体讲,Struts优点:
1. 实现MVC模式结构清晰,使发者关注业务逻辑实现.
2. 丰富tag用 ,Struts标记库(Taglib)能灵用则能提高发效率另外目前内JSP发者言除使用JSP自带用标记外少发
自标记或许Struts起点
3. 页面导航.页面导航今发展向事实做使系统脉络更加清晰通配置文件即握整系统各部间联系于期维护
着莫处尤其另批发者接手项目种优势体现更加明显
4. 提供Exception处理机制 .
5. 数据库链接池管理
6. 支持I18N
缺点:
、 转展示层需要配置forward每转展示层相信数都直接转jsp涉及转向需要配置forward十展示层jsp需要配置十struts
且包括候目录、文件变更需要重新修改forward注意每修改配置要求重新部署整项目tomcate服务器必须重新启服务器业务
变更复杂频繁系统操作简单想象现几十百同线使用我系统家想象我烦恼
二、 Struts Action必需thread-safe式仅仅允许实例处理所请求所action用所资源都必需统同步引起线程安全问题
三、 测试便. Struts每Action都同Web层耦合起测试依赖于Web容器单元测试难实现Junit扩展工具Struts TestCase实现
单元测试
四、 类型转换. StrutsFormBean所数据都作String类型使用工具Commons-Beanutils进行类型转化转化都Class级别且转化类型
配置类型转化错误信息返给用户非困难
五、 Servlet依赖性强. Struts处理Action必需要依赖ServletRequest ServletResponse所摆脱Servlet容器
六、 前端表达式语言面.Struts集JSTL所主要使用JSTL表达式语言获取数据JSTL表达式语言Collection索引属性面处理显弱
七、 Action执行控制困难. Struts创建Action想控制执行顺序非困难甚至要重新写Servlet实现功能需求
八、 Action 执行前处理. Struts处理Action候基于classhierarchies难action处理前进行操作
九、 事件支持够. struts实际表单Form应Action类(或DispatchAction)换句说:Struts实际表单能应事件struts种事
件式称application eventapplication eventcomponent event相比种粗粒度事件
Struts重要表单象ActionForm种象代表种应用象至少包含几字段些字段Jsp页面表单input字段表单应事件所
我需要事件粒度细化表单些字段说字段应事件单纯使用Struts太能通结合JavaScript转弯实现
2.Hibernate
Hibernate放源代码象关系映射框架JDBC进行非轻量级象封装使Java程序员随所欲使用象编程思维操纵数据库
Hibernate应用任何使用JDBC场合既Java客户端程序实用Servlet/JSPWeb应用使用具革命意义Hibernate应用EJBJ2EE架构
取代CMP完数据持久化重任
数发机构经采取创建各自独立数据持久层旦底层数据结构发改变修改应用其余部使适应种改变代价十巨Hibernate适填补
空白Java应用提供易用、高效率象关系映射框架hibernate轻量级持久性框架功能却非丰富
优点:
a.Hibernate 使用 Java 反射机制 字节码增强程序实现透明性
b.Hibernate 性能非轻量级框架 映射灵性色
c.支持各种关系数据库各种复杂关系
缺点:限制您所使用象模型(例持久性类能映射表)其独界面怜市场份额让安尽管Hibernate 其强发展力减轻
些风险其源持久性框架些都没 Hibernate 市场冲击力
面贴情绪点激希望谅解我批评Hibernate快帖面观点实让我觉荒谬管觉Hibernate吧吧我唯觉
遗憾文论坛面找Hibernate真高水平评价TSS关于Hibernatehot thread跟几百贴其包括Hibernate作者GavinLiDO JDO
CTO于JDOHibernate些激烈争论我曾经耐看遍仍没发现针Hibernate真力攻击些所谓攻击非针Hibernate没GUI配置工
具没商业公司支持没标准化等等些站住脚理由
补充几点我意见:
、HibernateJDBC轻量级象封装独立象持久层框架App ServerEJB没必联系Hibernate用任何JDBC使用场合例Java
应用程序数据库访问代码DAO接口实现类甚至BMP面访问数据库代码意义说HibernateEB范畴东西存非即彼关系
二、HibernateJDBC密切关联框架所Hibernate兼容性JDBC驱数据库都定关系使用Java程序App Server没任何关系存
兼容性问题
三、Hibernate能用直接Entity Bean做比放整J2EE项目框架才能比较并且即使放软件整体框架看Hibernate做JDBC替代者现
Entity Bean替代者现让我再列我已经列n框架结构:
传统架构:
1) Session Bean Entity Bean DB
解决性能障碍替代架构:
2) Session Bean DAO JDBC DB
使用Hibernate提高面架构发效率架构:
3) Session Bean DAO Hibernate DB
面3架构析:
1、内存消耗:采用JDBC架构2疑省内存Hibernate架构3EB架构1差
2、运行效率:JDBC代码写非优化JDBC架构运行效率高实际项目点几乎做需要程序员非精通JDBC运用Batch语句调整
PreapredStatementBatch SizeFetch Size等参数及必要情况采用结集cache等等般情况程序员做点Hibernate架构表现快运行
效率EB架构效率差远
3、发效率:JBuilder支持及简单项目EB架构发效率高JDBCHibernate差项目特别持久层关系映射复杂情况Hibernate效
率高惊JDBCEB架构能失败
4、布式安全检查集群负载均衡支持
由于SB做Facade3架构没区别
四、EBHibernate习难度哪
EB难度哪复杂XML配置文件于EB运用稍微慎严重性能障碍所难需要习EJB设计模式避性能问题需要习App ServerEB
配置优化EB运行效率做EB发工作程序员部精力都放EB性能问题反没更精力关注本身主要投入精力考虑象持久层设计
Hibernate难哪Hibernate本身复杂实际Hibernate非简单难Hibernate太灵
用EB实现持久层候发现EB实太笨拙笨拙根本没选择余所根本用花费精力设计案平衡案坏费脑筋考虑
选择哪案唯案摆面前能做没选择
Hibernate相反太灵相同问题至少设计十几种案解决所特别犯难究竟用用呢些案间底区别呢运行原
理同运行效率哪比较光主键七八种案供选择难难集合属性用Set用List用Bag底哪效率高难
难查询用iterator用list哪区别难难复合主键直接hbm面配置自定义CustomerType哪种比较些难难
于表选择单映射象映射父象映射两1:1象情况用哪种案比较难难
列表直列直想再看止面前摆着数眼花缭乱案候觉幸福呢悲哀呢负责程序员定
仔细研究每种案区别每种案效率每种案适用场合觉已经陷入进拔用EB第秒种已经做决定根本没选择比说集
合属性能用CollectionHibernateBagListSet间犹豫决甚至搞清楚程序都没办写
3. Spring
源项目且目前非跃;基于IoC(Inversion of Control反向控制)AOP构架层j2ee系统框架强迫必须每层 必须使用Spring
模块化允许根据自需要选择使用某模块;实现优雅MVC同数据访问技术提供统 接口采用IoC使容易实现bean装
配提供简洁AOP并据实现Transcation Managment等等
优点
a. Spring能效组织间层象管否选择使用EJB仅仅使用Struts或其J2EE API特制frameworkSpring致力于解决剩问题
b. Spring能消除许工程见Singleton使用根据我经验问题降低系统测试性面向象程度
c. 通种同应用程序项目间致处理配置文件Spring能消除各种各自定义格式属性文件需要曾经某类要寻找哪魔般属性项或系统属
性解读Javadoc甚至源编码Spring仅仅需要看看类JavaBean属性Inversion of Control使用(面讨论)帮助完种简化
d. 通接口编程类编程代价几乎减少没Spring能够促进养编程习惯
e. Spring设计让使用创建应用尽能少依赖于APIsSpring应用数业务象没依赖于Spring
f. 使用Spring构建应用程序易于单元测试
g. Spring能使EJB使用实现选择,应用架构必选择能选择用POJOs或local EJBs实现业务接口却影响调用代码
h. Spring帮助解决许问题需使用EJBSpring能提供种EJB替换物适用于许web应用例Spring能使用AOP提供声明性事务管理通EJB容器
仅仅需要与单数据库打交道甚至需要JTA实现
i. Spring数据存取提供致框架,论使用JDBCO/R mapping产品(Hibernate)
Spring确实使能通简单行解决办解决问题价值
缺点:使用数、jsp要写代码、控制器于灵缺少公用控制器
struts框架具组件模块化灵性重用性优点同简化基于MVCweb应用程序发
优点:
Struts跟Tomcat、Turbine等诸Apache项目源软件优点使发者能更深入解其内部实现机制
除外Struts优点主要集体现两面:Taglib页面导航TaglibStruts标记库灵用能提高发效率另外目前内JSP发者言除使
用JSP自带用标记外少发自标记或许Struts起点
关于页面导航我认今发展向事实做使系统脉络更加清晰通配置文件即握整系统各部间联系于期维护着
莫处尤其另批发者接手项目种优势体现更加明显
另外struts业界"标准"(功案例)习资源丰富HTML标签非优秀
缺点:
TaglibStruts优势于初者言却需要持续习程甚至打乱网页编写习惯习惯觉真棒
StrutsMVCController三获结构更加清晰同增加系统复杂度
ActionForms使用便、进行单元测试(StrutsTestCase能用于集)
【IT168技术文档】
Struts跟Tomcat、Turbine等诸Apache项目源软件优点使发者能更深入解其内部实现机制 Struts放源码框架创建使发者
构建基于Java ServletJavaServer Pages(JSP)技术Web应用更加容易Struts框架放者提供统标准框架通使用Struts作基础发者能够更专注
于应用程序商业逻辑Struts框架本身使用Java ServletJavaServer Pages技术种Model-View-Controller(MVC)实现.
具体讲,Struts优点:
1. 实现MVC模式结构清晰,使发者关注业务逻辑实现.
2. 丰富tag用 ,Struts标记库(Taglib)能灵用则能提高发效率另外目前内JSP发者言除使用JSP自带用标记外少发
自标记或许Struts起点
3. 页面导航.页面导航今发展向事实做使系统脉络更加清晰通配置文件即握整系统各部间联系于期维护
着莫处尤其另批发者接手项目种优势体现更加明显
4. 提供Exception处理机制 .
5. 数据库链接池管理
6. 支持I18N
缺点:
、 转展示层需要配置forward每转展示层相信数都直接转jsp涉及转向需要配置forward十展示层jsp需要配置十struts
且包括候目录、文件变更需要重新修改forward注意每修改配置要求重新部署整项目tomcate服务器必须重新启服务器业务
变更复杂频繁系统操作简单想象现几十百同线使用我系统家想象我烦恼
二、 Struts Action必需thread-safe式仅仅允许实例处理所请求所action用所资源都必需统同步引起线程安全问题
三、 测试便. Struts每Action都同Web层耦合起测试依赖于Web容器单元测试难实现Junit扩展工具Struts TestCase实现
单元测试
四、 类型转换. StrutsFormBean所数据都作String类型使用工具Commons-Beanutils进行类型转化转化都Class级别且转化类型
配置类型转化错误信息返给用户非困难
五、 Servlet依赖性强. Struts处理Action必需要依赖ServletRequest ServletResponse所摆脱Servlet容器
六、 前端表达式语言面.Struts集JSTL所主要使用JSTL表达式语言获取数据JSTL表达式语言Collection索引属性面处理显弱
七、 Action执行控制困难. Struts创建Action想控制执行顺序非困难甚至要重新写Servlet实现功能需求
八、 Action 执行前处理. Struts处理Action候基于classhierarchies难action处理前进行操作
九、 事件支持够. struts实际表单Form应Action类(或DispatchAction)换句说:Struts实际表单能应事件struts种事
件式称application eventapplication eventcomponent event相比种粗粒度事件
Struts重要表单象ActionForm种象代表种应用象至少包含几字段些字段Jsp页面表单input字段表单应事件所
我需要事件粒度细化表单些字段说字段应事件单纯使用Struts太能通结合JavaScript转弯实现
2.Hibernate
Hibernate放源代码象关系映射框架JDBC进行非轻量级象封装使Java程序员随所欲使用象编程思维操纵数据库
Hibernate应用任何使用JDBC场合既Java客户端程序实用Servlet/JSPWeb应用使用具革命意义Hibernate应用EJBJ2EE架构
取代CMP完数据持久化重任
数发机构经采取创建各自独立数据持久层旦底层数据结构发改变修改应用其余部使适应种改变代价十巨Hibernate适填补
空白Java应用提供易用、高效率象关系映射框架hibernate轻量级持久性框架功能却非丰富
优点:
a.Hibernate 使用 Java 反射机制 字节码增强程序实现透明性
b.Hibernate 性能非轻量级框架 映射灵性色
c.支持各种关系数据库各种复杂关系
缺点:限制您所使用象模型(例持久性类能映射表)其独界面怜市场份额让安尽管Hibernate 其强发展力减轻
些风险其源持久性框架些都没 Hibernate 市场冲击力
面贴情绪点激希望谅解我批评Hibernate快帖面观点实让我觉荒谬管觉Hibernate吧吧我唯觉
遗憾文论坛面找Hibernate真高水平评价TSS关于Hibernatehot thread跟几百贴其包括Hibernate作者GavinLiDO JDO
CTO于JDOHibernate些激烈争论我曾经耐看遍仍没发现针Hibernate真力攻击些所谓攻击非针Hibernate没GUI配置工
具没商业公司支持没标准化等等些站住脚理由
补充几点我意见:
、HibernateJDBC轻量级象封装独立象持久层框架App ServerEJB没必联系Hibernate用任何JDBC使用场合例Java
应用程序数据库访问代码DAO接口实现类甚至BMP面访问数据库代码意义说HibernateEB范畴东西存非即彼关系
二、HibernateJDBC密切关联框架所Hibernate兼容性JDBC驱数据库都定关系使用Java程序App Server没任何关系存
兼容性问题
三、Hibernate能用直接Entity Bean做比放整J2EE项目框架才能比较并且即使放软件整体框架看Hibernate做JDBC替代者现
Entity Bean替代者现让我再列我已经列n框架结构:
传统架构:
1) Session Bean Entity Bean DB
解决性能障碍替代架构:
2) Session Bean DAO JDBC DB
使用Hibernate提高面架构发效率架构:
3) Session Bean DAO Hibernate DB
面3架构析:
1、内存消耗:采用JDBC架构2疑省内存Hibernate架构3EB架构1差
2、运行效率:JDBC代码写非优化JDBC架构运行效率高实际项目点几乎做需要程序员非精通JDBC运用Batch语句调整
PreapredStatementBatch SizeFetch Size等参数及必要情况采用结集cache等等般情况程序员做点Hibernate架构表现快运行
效率EB架构效率差远
3、发效率:JBuilder支持及简单项目EB架构发效率高JDBCHibernate差项目特别持久层关系映射复杂情况Hibernate效
率高惊JDBCEB架构能失败
4、布式安全检查集群负载均衡支持
由于SB做Facade3架构没区别
四、EBHibernate习难度哪
EB难度哪复杂XML配置文件于EB运用稍微慎严重性能障碍所难需要习EJB设计模式避性能问题需要习App ServerEB
配置优化EB运行效率做EB发工作程序员部精力都放EB性能问题反没更精力关注本身主要投入精力考虑象持久层设计
Hibernate难哪Hibernate本身复杂实际Hibernate非简单难Hibernate太灵
用EB实现持久层候发现EB实太笨拙笨拙根本没选择余所根本用花费精力设计案平衡案坏费脑筋考虑
选择哪案唯案摆面前能做没选择
Hibernate相反太灵相同问题至少设计十几种案解决所特别犯难究竟用用呢些案间底区别呢运行原
理同运行效率哪比较光主键七八种案供选择难难集合属性用Set用List用Bag底哪效率高难
难查询用iterator用list哪区别难难复合主键直接hbm面配置自定义CustomerType哪种比较些难难
于表选择单映射象映射父象映射两1:1象情况用哪种案比较难难
列表直列直想再看止面前摆着数眼花缭乱案候觉幸福呢悲哀呢负责程序员定
仔细研究每种案区别每种案效率每种案适用场合觉已经陷入进拔用EB第秒种已经做决定根本没选择比说集
合属性能用CollectionHibernateBagListSet间犹豫决甚至搞清楚程序都没办写
3. Spring
源项目且目前非跃;基于IoC(Inversion of Control反向控制)AOP构架层j2ee系统框架强迫必须每层 必须使用Spring
模块化允许根据自需要选择使用某模块;实现优雅MVC同数据访问技术提供统 接口采用IoC使容易实现bean装
配提供简洁AOP并据实现Transcation Managment等等
优点
a. Spring能效组织间层象管否选择使用EJB仅仅使用Struts或其J2EE API特制frameworkSpring致力于解决剩问题
b. Spring能消除许工程见Singleton使用根据我经验问题降低系统测试性面向象程度
c. 通种同应用程序项目间致处理配置文件Spring能消除各种各自定义格式属性文件需要曾经某类要寻找哪魔般属性项或系统属
性解读Javadoc甚至源编码Spring仅仅需要看看类JavaBean属性Inversion of Control使用(面讨论)帮助完种简化
d. 通接口编程类编程代价几乎减少没Spring能够促进养编程习惯
e. Spring设计让使用创建应用尽能少依赖于APIsSpring应用数业务象没依赖于Spring
f. 使用Spring构建应用程序易于单元测试
g. Spring能使EJB使用实现选择,应用架构必选择能选择用POJOs或local EJBs实现业务接口却影响调用代码
h. Spring帮助解决许问题需使用EJBSpring能提供种EJB替换物适用于许web应用例Spring能使用AOP提供声明性事务管理通EJB容器
仅仅需要与单数据库打交道甚至需要JTA实现
i. Spring数据存取提供致框架,论使用JDBCO/R mapping产品(Hibernate)
Spring确实使能通简单行解决办解决问题价值
缺点:使用数、jsp要写代码、控制器于灵缺少公用控制器
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询