文档章节

商品详情静态页发布

o
 osc_4nmshwhm
发布于 2018/08/07 12:19
字数 548
阅读 8
收藏 0

精选30+云产品,助力企业轻松上云!>>>

一、先编写远程服务类的接口

1 package com.rl.ecps.ws.service;
2 
3 import javax.jws.WebService;
4 
5 @WebService
6 public interface EbWSItemService {
7 
8     public String publishItem(Long itemId,String password) throws Exception;
9 }

二、实现该接口的方法,1、先根据id查询获取商品,2’将商品放入map中    3、将path和request_file_path变量的值放入map中  以替换模板中的内容

 1 @Service
 2 public class EbWSItemServiceImpl implements EbWSItemService {
 3 
 4     @Autowired
 5     private EbItemDao itemDao;
 6     
 7     public String publishItem(Long itemId, String password) throws Exception {
 8         String result = "success";
 9         if(StringUtils.equals(password, ECPSUtils.readProp("ws_pass"))) {
10             EbItem item = itemDao.selectItemDetailById(itemId);
11             Map<String,Object> map = new HashMap<String,Object>();
12             map.put("item", item);
13             map.put("path", ECPSUtils.readProp("portal_path"));
14             map.put("request_file_path", ECPSUtils.readProp("request_file_path"));
15             FMutil.ouputFile("productDetail.ftl", item.getItemId()+".html", map);
16         }else {
17             result = "fail";
18         }
19         return result;
20     }
21 
22 }

三、配置cxf

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
 4     xmlns:jaxrs="http://cxf.apache.org/jaxrs" xmlns:cxf="http://cxf.apache.org/core"
 5     xsi:schemaLocation="http://www.springframework.org/schema/beans 
 6           http://www.springframework.org/schema/beans/spring-beans.xsd
 7             http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
 8             http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
 9             http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd">
10     <!-- 引入CXF Bean定义如下,早期的版本中使用 -->
11     <import resource="classpath:META-INF/cxf/cxf.xml" />
12     <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
13     <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
14     
15     <jaxws:server id="publishItem" address="/publishItem" serviceClass="com.rl.ecps.ws.service.EbWSItemService">
16         <jaxws:serviceBean>
17             <bean class="com.rl.ecps.ws.service.impl.EbWSItemServiceImpl"></bean>
18         </jaxws:serviceBean>
19     </jaxws:server>
20     
21     </beans>

四、在web.xml中配置servlet

1 <servlet>
2         <servlet-name>cxf</servlet-name>
3         <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
4     </servlet>
5     <servlet-mapping>
6         <servlet-name>cxf</servlet-name>
7         <url-pattern>/services/*</url-pattern>
8     </servlet-mapping>
<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:beans.xml,classpath*:cxf-servlet.xml</param-value>
    </context-param>

五、通过wsdl2java生成服务代码

PS F:\wscode> wsdl2java -d . -p com.rl.ecps.stub http://localhost:8086/ecps-portal/services/publishItem?wsdl

六、编写调用方法

1 public String publishItem(Long itemId, String password) {
2         //创建集合的访问对象
3         EbWSItemServiceService wsItemServiceService = new EbWSItemServiceService();
4         EbWSItemService wsItemService = wsItemServiceService.getEbWSItemServicePort();
5         return wsItemService.publishItem(itemId, password);
6     }

七、Controller调用并返回结果给Ajax请求

1 //发布商品静态页面
2     @RequestMapping("/publishItem.do")
3     public void publishItem(Long itemId,PrintWriter writer) {
4         String result = itemService.publishItem(itemId, ECPSUtils.readProp("ws_pass"));
5         writer.write(result);
6     }

八、前台 发布 按钮的事件

 1 //商品发布
 2 function publish(itemId){
 3     tipShow("#refundLoadDiv");
 4     $.ajax({
 5         url:path+"/item/publishItem.do",
 6         type:"post",
 7         dataType:"text",
 8         data:{
 9             itemId:itemId
10         },
11         success:function(responseText){
12             if(responseText == "success"){
13                 alert("发布成功");
14             }else{
15                 alert("发布失败");
16             }
17             tipHide("#refundLoadDiv");
18         }
19     })
20 }

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

linux下java环境搭建

1、jdk下载: 官方地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 如下图所示,我这边选择的是红框中的版本 2、压缩包上传至服务器 将下载的压缩包上传...

wc_飞豆
31分钟前
17
0
面试题:Java对象不再使用时,为什么要赋值为null?

前言 许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回...

码农突围
33分钟前
22
0
设计模式(5) 原型模式

原型模式 原型模式的适用场景 浅拷贝 深拷贝 用Initialize方法修改初始化状态 原型模式与之前学习的各种工厂方法、单例模式、建造者模式最大、最直观的区别在于,它是从一个既有的对象“克隆...

zhixin9001
33分钟前
7
0
获取免费的pycharm激活码网站

http://www.lookdiv.com/

云烟成雨forever
33分钟前
27
0
用Helm部署Kubernetes应用,支持多环境部署与版本回滚

1 前言 Helm是优秀的基于Kubernetes的包管理器。利用Helm,可以快速安装常用的Kubernetes应用,可以针对同一个应用快速部署多套环境,还可以实现运维人员与开发人员的职责分离。现在让我们安...

南瓜慢说
34分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部