初学者的JAVA项目

上传人:飞*** 文档编号:44971034 上传时间:2018-06-14 格式:DOC 页数:5 大小:97KB
返回 下载 相关 举报
初学者的JAVA项目_第1页
第1页 / 共5页
初学者的JAVA项目_第2页
第2页 / 共5页
初学者的JAVA项目_第3页
第3页 / 共5页
初学者的JAVA项目_第4页
第4页 / 共5页
初学者的JAVA项目_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《初学者的JAVA项目》由会员分享,可在线阅读,更多相关《初学者的JAVA项目(5页珍藏版)》请在金锄头文库上搜索。

1、云南农机监理系统解析 1.框架 1.1 此系统是基于软件工程中常提到的”MVC”模式开发-学习软件开发公共类,公共使用的方法和类。控制类,JS 直接访问的类数据访问包,这里只是接口数据访问包,实现类项目中所有要使用的接口Service 继承类,所有方法Model 实体类公共包,MD5 等Jdk 的包,的包,javaEE 的包,的包,外部应用的包外部应用的包项目数据库,sql 语句 MySQL工作日志美化的错误页面,还加个标记Indext.jsp,report.jspCSS,界面框架,一些用到的 JS项目用到的图片,图标Desktop 界面的 Js登录界面的 JS项目中使用到的所有 JsIrep

2、ort4.0.2 设计的报表,需编译包含.jasper 和.jrxml 两种文件存放外部引用的数据包Desktop.jsp日志文件Servlet 文件,调用规则Hibernate 文件,注入 Dao 类Service 文件,所有的接口注入图 1-1 整体的 MVC 模式走一下报表流程: A:界面 JS(View)部分代码如下:text:“打印测试“,handler:function()Ext.Ajax.request(url:“main/report.html?action=getDrivingLicenceReport“,success:function()new Ext.Window(ti

3、tle:“报表测试“,height:600,width:700,html:).show(););B:控制类(Controller)部分代码:public void getDrivingLicenceReport(HttpServletRequest request,HttpServletResponse response) throws Exceptionrequest.setCharacterEncoding(“utf-8“);response.setContentType(“application/json;charset=utf-8“);int type = 1;HashMap para

4、ms=new HashMap();if(request.getParameter(“type“) != null String id = request.getParameter(“id“).trim();String peopleInfoId = request.getParameter(“peopleInfoId“).trim();String drivingLicenceTypeId = request.getParameter(“drivingLicenceTypeId“).trim();String drivingLicenceId = request.getParameter(“d

5、rivingLicenceId“).trim();if(type = 1)List list = 界面 JS (View)控制类 (Controller)Service接口Service ImplDao数据访问Dao Impl实体类 (Model)ABCDEFGservice.drivingLicenceReportSource(id,peopleInfoId,drivingLicenceTypeId);list.get(0).setStartDate(DateTimeUtil.getNow();list.get(0).setEndDate(GetDate.addYear(6);JRBeanC

6、ollectionDataSource jcds = new JRBeanCollectionDataSource(list);String reportFileName = request.getRealPath(“/“) + “/Report/drivingLicence.jasper“;JasperPrint jasperPrint = JasperFillManager.fillReport(reportFileName,params,jcds);request.getSession().setAttribute(BaseHttpServlet.DEFAULT_JASPER_PRINT

7、_SESSION_ATTRIBUTE,jasperPrint);C:Service接口部分代码: public List drivingLicenceReportSource(String id,String peopleInfoId,String drivingLicenceTypeId);D:Service Impl接口实现类部分代码:public List drivingLicenceReportSource(String id,String peopleInfoId,String drivingLicenceTypeId)return drivingLicenceDao.driving

8、LicenceReportSource(id,peopleInfoId,drivingLicenceTypeId);E:Dao数据访问接口类部分代码: public List drivingLicenceReportSource(String id,String peopleInfoId,String drivingLicenceTypeId);F:Dao接口实现类部分代码: public List drivingLicenceReportSource(String id,String peopleInfoId,String drivingLicenceTypeId) / TODO Auto-

9、generated method stubString sql=“;sql=“SELECT ynzc_peopleinfo.peopleName, ynzc_peopleinfo.sex,ynzc_peopleinfo.birthday,ynzc_peopleinfo.idCard,ynzc_driverstrinfo.archivesNo,ynzc_drivinglicence.drivingLicenceTypeId,ynzc_drivinglicence.startDate,ynzc_drivinglicence.endDate,ynzc_peopleinfo.address FROM

10、ynzc_drivinglicence,ynzc_driverstrinfo,ynzc_peopleinfo where ynzc_drivinglicence.id = “+id+“ and ynzc_driverstrinfo.peopleInfoId = “+peopleInfoId+“ and ynzc_driverstrinfo.drivingLicenceTypeId = “+drivingLicenceTypeId+“ and ynzc_peopleinfo.id = “+peopleInfoId+“ and ynzc_drivinglicence.userState = 1“;

11、List res =hibernateTemplate.getSessionFactory().openSession().createSQLQuery(sql).setResultTransformer(Transformers.aliasToBean(DrivingLicenceReportSource.class).list();return res;报表的流程就走完啦,是模型吧。但是为什么建了几个包在项目里面,它就会按这个流程走呢?答案:原因就是因为WEB-INF下面有3个.xml配置文件1. YnzcAms-servlet.xml 它的作用就是js里面的跳转跳到控制类Controll

12、er中来,代码理解:reportController这几行代码就是说将包里面的ReportController类起名叫reportController并且在前台JS文件中只要请求main/report.html就会自动转到reportController也就是ReportController类中去,还会自动寻找匹配的方法,如上面报表流程请求去到控制器中自动找到了getDrivingLicenceReport这个方法。而这些方法之间的调用呢又是一个接着一个的最后调用到了DaoImpl方法。在这个方法 中使用了sql语句,hibernateTemplate了,也引用了实体Model类,这才到了个尽

13、头。 而使用了hibernateTemplate我猜肯定要使用hibernate.xml文件,不然咋整。Ynzc.YnzcAms.Model.DrivingLicence这个hibernate中就把DaoImpl重新起了个别名,导致ServiceImpl中使用return drivingLicenceDao.drivingLicenceReportSource(id,peopleInf oId,drivingLicenceTypeId);而service.xml文件可以把hibernate.xml和SericeImpl连接在一起:/这个name是hibernate中的id/这个是Service中的name本人只能理解到这个地方了。其他公共类应该就是字符串,加密这方面的处理吧。 这个项目我是个跑龙套还看不脸的那种,但也是个演员嘛。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号