javaEE SSH框架 BaseAction的抽取以及其他方面代码优化

有关之前实体类的设计参考我前面的博客:http://blog.csdn.net/u013082989/article/details/50983650

项目文件已经放到Github上,欢迎大家Follow,star.地址:https://github.com/lawlite19/SmartEducation

一:抽取BaseAction

(1)先说一下ModelDriven的使用,比如用户登录,我想得到界面输入的用户账号userNum和用户密码password,可以在Action类中声明并实现get、set方法,对应到界面input的name属性一致,然后就可以得到(也可以在Action中声明一个User user对象,对应到界面input的那么属性写user.userNum,user.password也可以得到)

使用ModelDriven后,界面中name属性对应到对象的属性

可以直接在类中声明一个对象model,通过model.get()方法得到对象对应的属性即可。

(2)抽取BaseAction类,先说一下为什么要抽取,因为我们在每个Action中都要定义对应的对象model,我们可以抽取出来声明为泛型,通过反射得到对象的类型即可。

还有就是每个Action中可能会重复用到的Service接口对象,我们也都在BaseAction中将用到的接口对象声明为protected类型(前几天刚好复试c++,复习了一下类的关系),只要继承BaseAction就可以得到父类的Service接口对象了。

二:关于Dao层的调用代码优化

(1)因为之前我们在BaseDao中将公共的增、删、改、查代码抽取出来了,可以参考我的这篇博客后面的说明:http://blog.csdn.net/u013082989/article/details/50964133

又因为我们Service层经常会调用到增、删、改、查,这样Service层又要重新写一遍,然后再去调用Dao层,这样就重复了(当然这样没有问题),我们现在将业务层Service和Dao层放在一起,将BaseDao改名为DaoSupport,Service层继承DaoSupport即可

dao层就不需要了

直接在Service层通过getSession()方法查询数据库(getSession是DaoSupport中的,声明为protected类型,子类中就可以得到了)

(2)优化后的图示:

时间: 2024-10-10 10:08:18

javaEE SSH框架 BaseAction的抽取以及其他方面代码优化的相关文章

javaEE SSH框架 qq第三方登录及用户绑定

前几天刚申请好域名,下面实现网站的qq第三方登录的功能,javaEE的SSH框架.(一些细节问题没有处理,只是大体上实现) 一:首先说一下需求,第一次使用qq第三方登录的用户需要绑定已有的网站用户名,绑定成功后进入首页.以后再使用qq第三方登录就直接进入网站首页. 二:要想使用qq第三方首先需要申请应用(需要有自己的域名) (1)登录qq互联网站申请应用,http://connect.qq.com/ (2)创建应用 (3)创建好之后还是可以修改的,这里回调地址我用的是域名+back.jsp界面(

[JavaEE] SSH框架笔记_eclipse搭建SSH框架详解

SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题.下面我介绍一下SSH框架搭建的全过程. 第一步:准备工作. 下载好eclipse,Struts2,Spring,Hibernate. 1.eclipse:eclipse下载的时候建议下载JavaEE版的eclipse. 当然你也可以下载eclipse-SDK.(下载eclipse-SDK需要下载Web,Tomcat等plugins) 2.Struts2:http://struts.apache.org/downloa

javaEE SSH框架 qq第三方登录及用户绑定(java sdk版)

之前有位朋友用js sdk实现了 SSH框架下的qq第三方登录功能,但是我发现使用js sdk 有些无法克服的安全问题,所以我改用java sdk来实现这个功能! 如图,使用java sdk时,回调地址应设置为一个.action链接.(注意!修改回调地址的话,官方不会及时给你审核通过,有的人修改回调地址后一年 官方都没给他审核通过,这意味着[修改回调地址不如 要重新申请一个域名!重新申请一次网站接入]) 使用官方给定的Sdk4J.jar时 控制台会打印许多log信息,这严重影响项目的运行效率,所

javaEE SSH框架使用ChartDirector绘图

最近做毕设想要在web端显示图表,网上有很多图表的插件,JFreeChart也不错,不过我选择的是ChartDirector. 一.需求:分页显示学生访问对应课程次数的柱状图,(之前我爬取了网站上的一些课程,并记录了用户访问的记录) 二.实现: (1)ChartDirector自带一个jsp文件,复制到项目中,还有将ChartDirector.jar包引入项目中 (2)要显示图表的jsp界面,其中chart1URL和imageMap1是Action层处理好传递过来的数据,分页的代码可以忽略掉,其

JavaEE SSH框架整合(四) 日志处理Spring结合 log4j、slf4j [转]

1. 加入log4j和slf4j的jar包 2. web.xml: [html] view plaincopyprint? <context-param> <!--log4j配置地址 --> <param-name>log4jConfigLocation</param-name> <!-- <param-value>/WEB-INF/classes/log4j.properties</param-value> --> &l

[JavaEE] SSH框架搭建所需要的包

struts2commons-logging-1.0.4.jar 主要用于日志处理freemarker-2.3.8.jar 模板相关操作需要包ognl-2.6.11.jar ognl表达示所需包,xwork-2.0.7.jar xwork核心包struts2-core-2.0.14.jar struts2核心包struts2-spring-plugin-2.0.14.jar struts2整合spring所需要的包如果还需要整合其它框架或者插件,再导入其它的包 hibernateHibernat

JavaEE SSH框架整合(四) 日志处理Spring结合 log4j、slf4j

1. 加入log4j和slf4j的jar包 2. web.xml: <context-param> <!--log4j配置地址 --> <param-name>log4jConfigLocation</param-name> <!-- <param-value>/WEB-INF/classes/log4j.properties</param-value> --> <param-value>classpath:l

JavaEE SSH框架整合(二) struts2 加载本地dtd文件,action配置

1. 加载struts2的dtd文件,使struts.xml不用联网就能验证,并在eclipse中有提示 在src下创建struts.xml: <?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPE strutsPUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://strut

JavaEE SSH框架整合(一) jar包导入 web.xml配置

最近买了一个阿里的云服务器.服务端是linux命令行环境,tomcat.mysql啥的都整好了. 就想自己写个web后台,制造一些网络数据啥的,给我的移动app-demo访问玩. 虽然以前学过web相关内容,但已经离开它三年多了,忘光光了. 特在此记录下学习.开发的一些流程,遇到的一些问题,和一些解决的方法. 1. 去struts官网下载了最新的完整zip.struts2.3.20 2. 在网络上下载了spring-framework3.2.8的完整zip.(官方最新4.x需要jdk1.8,我本