您的位置:首页 > 其它

NC中配置Servlet 调用NC服务

2015-10-22 18:53 162 查看
1.新建Servlet类(这个类中有实现调用接口的方法以及设置Token)路径没有要求,应该新建Servlet本来就不是规范。

packagenc.impl.ca.cuma.account.ma;


importjava.io.BufferedReader;

importjava.io.IOException;

importjava.io.PrintWriter;

importjava.util.List;

importjava.util.Map;


importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;


importnc.bs.ca.capub.service.NCLocatorFactory;

importnc.bs.framework.common.NCLocator;

importnc.bs.framework.comn.NetStreamContext;

importnc.bs.framework.core.service.IFwLogin;

importnc.jdbc.framework.processor.MapListProcessor;

importnc.pubitf.ca.cuma.account.ma.IMACoverPlanService;

importnet.sf.json.JSONArray;

importnet.sf.json.JSONObject;


publicclassCoverPlanServletextendsHttpServlet{

privatestaticfinallongserialVersionUID=1L;

privateMapListProcessormyMapListprocessor;


publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsIOException,ServletException{

response.setContentType("text/html;charset=utf-8");

request.setCharacterEncoding("utf-8");

response.setCharacterEncoding("utf-8");

JSONObjectparaJson=JSONObject.fromObject(request

.getParameter("data"));

StringuserId=paraJson.getString("userId");

StringgroupId=paraJson.getString("groupId");

PrintWriterout=response.getWriter();

IFwLoginlogin=(IFwLogin)NCLocatorFactory

.getInstance().getCANCLocator().lookup("nc.bs.framework.core.service.IFwLogin");

NetStreamContext.setToken(login.login("yg","111aaa",null));

IMACoverPlanServicePlanService=(IMACoverPlanService)NCLocatorFactory

.getInstance().getCANCLocator()

.lookup("nc.pubitf.ca.cuma.account.ma.IMACoverPlanService");

List<Map>coverPlanList=PlanService.getCoverPlanList(groupId,userId,null,null,"0","10");

StringreturnJson=JSONArray.fromObject(coverPlanList).toString();

out.write(returnJson);


out.flush();

out.close();

}


publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsIOException,ServletException{

this.doGet(request,response);

}


//publicStringreadJSONString(HttpServletRequestrequest){

//StringBufferjson=newStringBuffer();

//Stringline=null;

//try{

//BufferedReaderreader=request.getReader();

//while((line=reader.readLine())!=null){

//json.append(line);

//}

//}catch(Exceptione){

//System.out.println(e.toString());

//}

//returnjson.toString();

//}


}


2.在account.portal.part中配置Servlet(注意使用一下LFW工具--->同步所有元素--->重启NC服务

<?xmlversion="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工程中,这样就不存在跨域的问题了)

varjson={"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"]};

varpost={data:JSON.stringify(json)};//JSON.stringify(json)把json转化成字符串

//$.post(url,post);


$(document).ready(function(){

alert("readyin...");

//$("#send").click(function(){

alert("#sendin...");

$.post("/portal/CoverPlanServlet",

post,

function(data,textStatus){

alert("数据:"+data+"\n状态:"+textStatus);

});

//});

});


6.第三方网页存放的位置



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: