NC中配置Servlet 調用NC服務


1.新建Servlet類(這個類中有實現調用接口的方法以及設置Token)路徑沒有要求,應該新建Servlet本來就不是規范。

package nc.impl.ca.cuma.account.ma;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.Map;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import nc.bs.ca.capub.service.NCLocatorFactory;
import nc.bs.framework.common.NCLocator;
import nc.bs.framework.comn.NetStreamContext;
import nc.bs.framework.core.service.IFwLogin;
import nc.jdbc.framework.processor.MapListProcessor;
import nc.pubitf.ca.cuma.account.ma.IMACoverPlanService;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
 
public class CoverPlanServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private MapListProcessor myMapListprocessor;
 
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
JSONObject paraJson = JSONObject.fromObject(request
.getParameter("data"));
String userId = paraJson.getString("userId");
String groupId = paraJson.getString("groupId");
PrintWriter out = response.getWriter();
IFwLogin login =(IFwLogin)NCLocatorFactory
.getInstance().getCANCLocator().lookup("nc.bs.framework.core.service.IFwLogin");
NetStreamContext.setToken(login.login("yg","111aaa",null));
IMACoverPlanService PlanService = (IMACoverPlanService) NCLocatorFactory
.getInstance().getCANCLocator()
.lookup("nc.pubitf.ca.cuma.account.ma.IMACoverPlanService");
List<Map> coverPlanList=PlanService.getCoverPlanList(groupId,userId, null, null, "0", "10");
String returnJson = JSONArray.fromObject(coverPlanList).toString();
out.write(returnJson);
 
out.flush();
out.close();
}
 
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
this.doGet(request, response);
}
 
// public String readJSONString(HttpServletRequest request) {
// StringBuffer json = new StringBuffer();
// String line = null;
// try {
// BufferedReader reader = request.getReader();
// while ((line = reader.readLine()) != null) {
// json.append(line);
// }
// } catch (Exception e) {
// System.out.println(e.toString());
// }
// return json.toString();
// }
 
}
2.在account.portal.part中配置Servlet(注意使用一下LFW工具--->同步所有元素---> 重啟NC服務
<?xml version="1.0" encoding="UTF-8" ?>
<web-app>
<context-param>
<param-name>ctxPath</param-name>
<param-value>/account</param-value>
</context-param>
 
<context-param>
<param-name>modules</param-name>
<param-value>account</param-value>
</context-param>
<servlet>
<servlet-name>CoverPlanServlet</servlet-name>
<servlet-class>nc.impl.ca.cuma.account.ma.CoverPlanServlet2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CoverPlanServlet</servlet-name>
<url-pattern>/CoverPlanServlet</url-pattern>
</servlet-mapping>
 
</web-app>
3.通過網頁請求訪問
 
http://IP:port/portal/CoverPlanServlet
4.簡單的結果演示(CoverPlanServlet2只是我方便說明問題,不是上面的CoverPlanServlet)
5.第三方網頁通過ajax請求如下(但是ajax會存在跨域問題,慎用,一般可以把第三方網頁掛在NC工程中,這樣就不存在跨域的問題了)
var json={"edit":[{"bh":"11111","mc":"11111","dbms":"ORACLE9i","dwmmc":"","addr":"","username":"","password":"","rm_sz":"ck","nyr_sz":"","id":"-1"},{"bh":"121","mc":"12","dbms":"ORACLE9i","dwmmc":"12","addr":"12","username":"12","password":"12","rm_sz":"ck","nyr_sz":"2011-09-06","id":"13"}],"del":["12"]};
var post={data:JSON.stringify(json)};//JSON.stringify(json)把json轉化成字符串
//$.post(url,post);
 
$(document).ready(function(){
alert("ready in...");
//$("#send").click(function(){
alert("#send in...");
$.post("/portal/CoverPlanServlet",
post,
function(data,textStatus){
alert("數據:" + data + "\n狀態:" + textStatus);
});
// });
});
6.第三方網頁存放的位置
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM