欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    java-WEB模块物流项目三.docx

    • 资源ID:1701363       资源大小:1.60MB        全文页数:49页
    • 资源格式: DOCX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java-WEB模块物流项目三.docx

    BOS 物流管理系统 第三天 取派员管理今天内容安排:1、 基础设置模块 业务需求分析 (重点)2、 PDM - 生成SQL - 建表 - 生成实体类 hibernate3-maven-plugin 使用 ,依赖Hibernate Tools 工具包 3、 取派员 增加功能 (jquery easyui form 表单控件 ,进行数据客户端校验 )4、 取派员 列表查询 (jquery easyui datagrid ) 无条件、分页查询 datagrid 分页原理 、 spring data jpa 如何实现分页 5、 取派员批量删除(逻辑删除) Spring data jpa 提供批量删除方法 6、 取派员修改功能Jquery easyui form 装载数据的load方法1. 用户密码修改要点: ajax编程、 struts2-json-plugin、 spring data jpa 修改单个字段方法 1.1. jquery easyui window 插件制作弹窗 对div 添加class=easyui-window - 变为一个窗口 点击确定按钮 校验密码是否一致 (自定义密码规则 (非空 空白字符 )UserAction编写业务层+dao实现第二步;编写UserAction 添加 editpassword 方法 DAO测试!ok 学生作业: 退出系统实现!2. 任务一: 基础设置模块 需求分析 参见 需求文档 2.6 基础档案 项目面试, 介绍开发功能需求 ,讲解使用什么技术解决需求问题 l 2.6.1 基础档案设置 l 2.6.2 收派标准 快递员 取货 排货, 根据货物大小、重量 , 选择不同 运输工具 l 2.6.3 班车设置 管理 快递车辆 配送路线 l 2.6.4 取派设置/替班 (取派员管理)管理快递员信息 、 替换班信息查询 l 2.6.5 区域设置 管理 物流业务所能覆盖行政区域(省、市、区 ) 行政区域信息 不可更改 !l 2.6.6 管理分区 举例: 你是一个快递员,让你负责上海闵行区 快件配送 - 行政区域太大了,不能直接分配给快递员负责 , 将区域进行划分 ,成为分区 l 2.6.7 管理定区、调度排班 区域、分区、定区 几个概念的区别 ? 区域 ,行政区域,国家划分省、市、区分区 ,因为区域很大,需要划分 (如果每个取派员负责一个分区,这样物流配送业务 不够灵活 )定区: 为几个取派员 划分到 几个分区的 负责 ,几个分区组成一个定区 l 2.6.8 收派时间管理 管理取派员 上下班 时间 小结: 基础设置模块 两个核心 取派员 、 区域 取派员 (收派标准、收派时间、车辆线路、 排班 )区域 (区域、 分区、 定区 )- 为后期 客户下单,自动分单,分配取派员 提供基础数据信息 3. 任务二:数据库建模设计、实体生成3.1. 基础设置PDM建表取派员表 bc_staff - 快递员 区域表 bc_region - 行政区域分区表 bc_subarea - 将区域细分,成为很多分区 定区表 bc_decidedzone - 定区 将几个快递员分配负责几个分区 (固定配送区域)一个区域,划分 多个分区 几个分区 组成 一个定区 一个取派员 负责 一个定区 (业务: 几个取派员负责一个定区,需要排班 )生成sql建表 表的创建完成!3.2. 根据数据表生成实体和映射 使用 hibernate3-maven-plugin 实现 根据数据表生成实体类和映射 插件用途说明: 编写maven 命令 直接由表 生成对应实体类!网址:http:/mojo.codehaus.org/hibernate3-maven-plugin/ 插件: 既可以生成 实体类和hbm映射文件 也可以生成实体类+注解资源文件说明第一步: 需要在pom.xml 配置插件 <plugin><groupId>org.codehaus.mojo</groupId><artifactId>hibernate3-maven-plugin</artifactId><version>2.2</version><configuration><components><component><name>hbm2hbmxml</name><implementation>jdbcconfiguration</implementation><outputDirectory>target/generated-resources/hibernate</outputDirectory></component><component><name>hbm2java</name><implementation>jdbcconfiguration</implementation><outputDirectory>target/generated-sources/hibernate</outputDirectory></component></components><componentProperties><!- 反转规则配置文件 -><revengfile>src/main/resources/reveng.xml</revengfile><!- hibernate数据库 连接属性文件 -><propertyfile>src/main/resources/hibernate.properties</propertyfile><!- 生成实体类默认包 -><packagename>cn.itcast.bos.domain</packagename><jdk5>true</jdk5><!- 如果设置为true生成JPA注解,设置为false生成hbm.xml -><ejb3>true</ejb3></componentProperties></configuration><dependencies><dependency><groupId>cglib</groupId><artifactId>cglib-nodep</artifactId><version>2.2.2</version></dependency><dependency><groupId>com.oracle</groupId><artifactId>ojdbc14</artifactId><version>$oracle.version</version><scope>runtime</scope></dependency></dependencies></plugin>还需要配置 hibernate tools 支持 <hibernate-tools.version>3.2.4.GA</hibernate-tools.version><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-tools</artifactId><version>$hibernate-tools.version</version></dependency>pom.xml <!- struts2 2.3.15.3 spring 3.2.0 spring data 3 maven 继承 -> <properties> <spring.version>3.2.12.RELEASE</spring.version> <spring.data.version>1.4.1.RELEASE</spring.data.version> <hibernate.version>3.6.10.Final</hibernate.version> <hibernate-tools.version>3.2.4.GA</hibernate-tools.version> <sl4j.version>1.7.6</sl4j.version> <struts2.version>2.3.15.3</struts2.version> <c3p0.version>0.9.1.2</c3p0.version> <oracle.version>10.2.0.4.0</oracle.version> <servlet.version>2.5</servlet.version> <jsp.version>2.0</jsp.version> <junit.version>4.11</junit.version> </properties> <dependencies> <!- spring -> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>$spring.version</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>$spring.version</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>$spring.version</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>$spring.version</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>$spring.version</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> <version>$spring.data.version</version> </dependency> <!- hiberante -> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>$hibernate.version</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>$sl4j.version</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>$hibernate.version</version> </dependency> <dependency><groupId>org.hibernate</groupId><artifactId>hibernate-tools</artifactId><version>$hibernate-tools.version</version></dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>$struts2.version</version> </dependency> <!- struts整合spring -> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> <version>$struts2.version</version> </dependency> <!- struts2注解开发 -> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-convention-plugin</artifactId> <version>$struts2.version</version> </dependency> <!- struts-json-plugin -> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-json-plugin</artifactId> <version>$struts2.version</version> </dependency> <!- c3p0 -> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>$c3p0.version</version> </dependency> <!- oracle驱动 -> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>$oracle.version</version> </dependency> <!- servlet jsp -> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>$servlet.version</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>$jsp.version</version> <scope>provided</scope> </dependency> <!- junit -> <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>$junit.version</version><scope>test</scope></dependency> </dependencies> <build> <plugins> <!- hibernate-maven插件 -> <plugin><groupId>org.codehaus.mojo</groupId><artifactId>hibernate3-maven-plugin</artifactId><version>2.2</version><configuration><components><component><name>hbm2hbmxml</name><implementation>jdbcconfiguration</implementation><outputDirectory>target/generated-resources/hibernate</outputDirectory></component><component><name>hbm2java</name><implementation>jdbcconfiguration</implementation><outputDirectory>target/generated-sources/hibernate</outputDirectory></component></components><componentProperties><revengfile>src/main/resources/reveng.xml</revengfile><propertyfile>src/main/resources/hibernate.properties</propertyfile><packagename>cn.itcast.bos.domain</packagename><jdk5>true</jdk5><ejb3>true</ejb3></componentProperties></configuration><dependencies><dependency><groupId>cglib</groupId><artifactId>cglib-nodep</artifactId><version>2.2.2</version></dependency><dependency><groupId>com.oracle</groupId><artifactId>ojdbc14</artifactId><version>$oracle.version</version><scope>runtime</scope></dependency></dependencies></plugin> <!- tomcat插件 -> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <port>80</port> </configuration> <version>2.1</version> </plugin> </plugins> </build>第二步: 在src/main/resources 建立 hibernate.properties 第三步: 在src/main/resources 配置 reveng.xml 反转规则文件 第四步: 执行 maven命令 mvn hibernate3:hbm2java 测试效果拷贝实体类 到 src/main/javaapplicationContext.xml 实体类扫描配置4. 任务三:取派员添加功能回顾: datagrid 配置 $(“#tableId”).datagrid( url: 加载远程数据 columns: 列信息 toolbar: 表格上方功能按钮 );通过 json/menu.json 菜单数据信息,找到取派员页面 page_base_staff.action 对应 WEB-INF/pages/base/staff.jsp 添加取派员操作,在页面弹窗(jquery easyui window 插件 )完成4.1. 取派员添加 form客户端校验使用 jquery easyui 开发,使用form 控件中验证器l 非空验证 添加 class=”easyui-validatebox” 添加 required属性设置为true ,还可以使用其它验证器 添加validType属性l 长度验证 l 数字框 esyui-numberboxl 日期框 easyui-datebox l 手机号码的校验说明l 自定义规则 js函数 按照文档规范编写即可!客户端校验完成!<div region="center" style="overflow:auto;padding:5px;" border="false"><form id="addStaffForm" action="$pageContext.request.contextPath /bc/staffAction_add" method="post"><table class="table-edit" width="80%" align="center"><tr class="title"><td colspan="2">收派员信息</td></tr><!- TODO 这里完善收派员添加 table -><!- <tr> -><!- <td>取派员编号</td> -><!- <td><input type="text" name="id" class="easyui-validatebox" required="true"/></td> -><!- </tr> -><tr><td>姓名</td><td><input type="text" name="name" class="easyui-validatebox" required="true"/></td></tr><tr><td>手机</td> <!- 手机号 easyui 框架没有提供校验规则 必须用户自定义 11位纯数字 1 3 4 5 7 8 开头 -><td> <!- 扩展手机号校验 参照文档 -> <input type="text" name="telephone" class="easyui-validatebox" data-options="required:true,validType:'telephone'" /></td></tr><tr><td>单位</td><td><input type="text" name="station" class="easyui-validatebox" required="true"/></td></tr><tr><td colspan="2"><input type="checkbox" name="haspda" value="1" />是否有PDA</td></tr><tr><td>取派标准</td><td><input type="text" name="standard" class="easyui-validatebox" required="true"/> </td></tr></table></form></div></div>自定义手机号码js代码/ 手机号码校验 校验器扩展.$.extend($.fn.validatebox.defaults.rules, telephone: validator: function(value,param) / value 用户输入值 param 定义规则 var reg = /13|4|5|7|8d9$/; return reg.test(value);, message: '手机号码必须是13,14,15,17,18开头的11位数字' );4.2. 提交form,实现取派员信息添加 4.2.1. form提交前,通过validate校验点击页面保存按钮,触发js事件,提交当前的form 完成form提交路径信息 对save保存按钮 添加click事件 使用form的validate方法进行校验 学生作业1: 要求staff 表 主键采用assigned 主键由程序员手动维护 完成 输入取派员编号 离焦发送ajax 校验取派员编号唯一性!修改Staff实体类主键策略学员作业2: 手机号码ajax唯一性校验.4.2.2. 编写添加取派员服务器代码 l Struts2 注解访问到Actionl Action、Service 交给Spring管理 ,Service添加事务TransactionalAction代码 父类 注入所有业务层接口对象Service代码l DAO 使用Spring Data 接口方式 bc_staff 数据表,提供 deltag逻辑删除标识,在程序设置默认值 0,未删除5. 任务四:取派员信息分页列表查询 5.1. datagrid服务器返回json格式json 文件: 分页查询 流程 服务器接受 easyui 客户端 发送请求参数: page 当前页码 rows 每页显示记录数 服务器接受上述两个参数之后 调用业务+dao(spring data) 分页查询 ->回送给easyui 框架 下述的数据格式 掌握 jquery easyui datagrid 编写数据表格 回顾 :第一天 datagrid使用 Datagrid数据格式 (两种 )l 不分页 key:value / 每个对象就是一条记录 l 分页 total: 总记录数,rows : 当前页数据 5.2. datagrid分页原理分析 1)在页面加载后,自动向datagrid的url发起请求 请求数据中自动提交两个参数 page 页码 、rows 每页显示记录数服务器返回json数据,客户端自动显示2) 当前改变页码或者每页记录数,自动发起新的请求 服务器端只需要根据 page和rows,查询当前页对应数据,以json返回,即可实现分页查询! Spring Data 如何实现服务器分页查询 ? PagingAndSortingRepository 提供分页查询方法 该方法 对象 Page<T> 分页数据响应对象 该对象封装 分页查询所有数据 Pageable对象 接受分页请求参数 请求数据: 用户需要 将easyui提交 page和rows ,封装到Pageable对象 查询结果: Page对象 (实现类 PageImpl) getNumber 当前页返回多少记录getSize 查询每页多少条 getTotalPages 总页数getTotalElements 总记录数getContent 当前页数据 小节: 分页查询步骤:1: 将分页请求参数 page rows 封装 Pageable 对象中调用spring data 提供 传递给该方法即可 spring data 自己完成分页查询 将分页结果数据 封装 Page<Staff>对象2: 将Page对象数据中 总记录数 和 每页查询数据 获取 生成json 格式:/ 每页查询分页数据public List<T> getContent() return Collections.unmodifiableList(content);/ 获取 总记录数public long getTotalElements() return total;/ 生成下面json 格式5.3. 使用Spring Data JPA 实现分页查询 第一步: 修改staff.jsp中 datagrid的url 地址 第二步: 在StaffAction 添加pageQuery 查询方法 Service 业务层实现类Action 控制代码 BaseAction 提供分页请求参数封装业务层: 测试: 问题: 问题1: 延迟加载错误 加载Staff中Decidedzone 信息 ,使用JSON注解排除 问题2: Page 转换为json , number、size 这些属性 都没了 当要转换为json的对象,实现Iterable 接口 ,不会转换里面属性,将对象当做Collection 集合对象 序列化 , 集合形式修改 Action 分页查询代码,将结果json转换, 符合easyui 需要 问题3: 查询从第二页开始查询 spring data 默认 从0 源码: 原因: easyui 分页页码从1开始, spring data Pageable 页码从0开始 测试:小节 easyui+spring data 分页实现: 客户端 easyui : datagrid 组件 发送分页查询url地址 自动 发送 page 当前页码 rows 每页显示记录数 客户端 完成分页查询 必须响应的数据 easyui 格式要求 total:表的总记录数 rows 页码对应查询数据 服务器: hibernate jdbc dbutils spring data 目标: 将总记录数 和 每页页码对应数据List<T>-> 封装Map (key: total key :rows)->jsonspring data 实现简单化 完成 findAll方法实现程序员将 Pageable 对象封装 传递给该方法即可! spring data 就会帮助我们完成分页查询 并将分页各种数据封装 Page对象代码开发: Pageable 封装 : 源码 构造方法封装 页面从0开始 从Page对象获取分页响应数据 即可 -封装到Map 即可分页完成!5.4. datagrid的列属性formatter的使用 (重点)是否有PDA 列 数据库存放是1 ,页面显示 “有”服务器json返回 haspda 内容就是1, 在页面进行转换 Datagrid的列属性 提供form

    注意事项

    本文(java-WEB模块物流项目三.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开