A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【济南校区】JavaEE就业笔记串讲---传统项目chapter05
1.定区添加功能
区域:由国家划分的行政区域,物流公司不能修改的,比如国家划分为31个省(直辖市、自治区)
分区:物流公司为了方便进行物流工作,对区域进行细分,产生了分区
定区:定区是物流分配的基本单位,将客户、分区、取派员关联起来,为进行自动分单提供数据
定区对应的jsp页面为:/WEB-INF./pages/base/decidedzone.jsp
定区添加的窗口如下:
第一步:在添加定区窗口中将取派员数据展示到下拉框中,修改combobox的url地址
第二步:在StaffAction中提供方法findStaffByAjax,查询取派员数据,返回json
在BaseAction中抽取一个用于序列化List集合为json数据方法
第三步:在添加页面中展示分区列表数据,修改datagrid的url地址
第四步:在SubareaAction中提供方法findSubareaByAjax,查询分区数据,返回json
第五步:为“保存”按钮绑定事件,进行表单校验,如果校验通过,提交表单
问题:提交的表单中有两个参数名称为id的,服务器无法区分哪个是定区id,哪个是分区id
解决方式:修改datagrid中id属性名为subareaid
问题:提交表单时subareaid的值为空
解决方式:需要在SubareaAction中的findSubareaByAjax方法返回的json数据中包含subareaid字段,在Subarea类中提供方法getSubareaid
第六步:创建定区Action、Service、Dao,在服务端完成保存定区操作,在struts.xml中配置Action
第七步:在定区Action中提供subareaid属性和set方法,改造Action中的save方法


2.定区分页查询功能
第一步:修改定区页面中datagrid的url地址
第二步:在Action中提供分页查询方法
问题:序列化定区对象时,关联的取派员对象是一个代理对象,无法进行序列化
解决:查询定区时,可以立即查询关联的取派员,通过lazy


3.Hessian入门案例
RMI---远程方法调用
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。

4.基于hessian实现定区关联客户
4.1发布crm项目服务
第一步:创建一个动态web项目并导入相关的jar包
第二步:在crm项目中创建一个接口
第三步:针对上面的接口提供实现类
第四步:在web.xml中配置spring框架的一个Servlet
第五步:在WEB-INF目录下提供配置文件remoting-servlet.xml,注册服务
4.2在bos项目中调用crm服务
第一步:将hessian的jar导入到bos项目中
第二步:在bos项目中提供一个接口,和crm项目中的接口保持一致,在bos项目中提供Customer实体类
第三步:在applicationContext.xml中注册一个bean(代理对象)
第四步:通过注解将上面的代理对象注入给相关的Action对象使用
4.3调整jsp页面弹出关联客户窗口
4.4发送ajax请求访问Action
在Action中通过代理对象远程调用crm项目中的方法返回客户信息,在Action中将返回的客户信息序列化为json数据,返回给浏览器
4.5为左右移动按钮绑定事件
4.6为定区关联客户窗口中的“关联客户”按钮绑定事件
4.7在Action中调用代理对象实现定区关联客户

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马