与java后台交互(java如何实现前后端交互)

发布时间:2022-11-14

本文目录一览:

  1. jsp和Java后台数据如何交互
  2. java的分布式开发怎么实现后台模块之间的数据交互
  3. android客户端如何与后台java服务器交互

jsp和Java后台数据如何交互

%
String path = request.getContextPath();
%

获取jsp所在工程的名称

var ids = new Array();
$.ajax({
    type : "POST",
    contentType : 'application/json',
    url : '<%=path%>/ui/product/havePsmPackage',
    data:JSON.stringify(ids),
    async :false,
    dataType : "json",
    success : function(data) {
    },
    error:function(){
    }
});
  1. 前台如果传的是一个集合,后台可以使用参数 @RequestBody List<String> ids 来接收
  2. 如果前台是这种传值方式 data:{"name":name,"id":id},那后台可以通过创建一个字段名称对应的实体类来接收,或者使用 String name = request.getParameter("name") 的方式来接收
  3. 如果 ajax 选择的是 GET 方法,那后台方法的字段名称和 url 的入参名称保持一致就能接收到数据了
  4. window.location.href="<%=path%>/ui/psmpackage/toPsmPackageList"; 是跳转到新页面的方法
@RequestMapping(value = "/toPsmPackageList")
public String toPsmPackageList(HttpServletRequest request) {
    return "psmPackage/psmPackageList";
}

这是后台的接受方式,返回的是对应 jsp 的文件夹和文件名。页面跳转的方法不需要 @ResponseBody 注解,而获取返回值的方法则一定要加,不然获取不到返回值。 5. window.open(url); 可以在浏览器上新开一个页面。对应的是 window.close(); 6. 如何将数据带到新增的页面 第一:第一个页面通过

window.location.href="<%=path%>/ui/product/condition?lineCode="+lineCode+"&typeCode="+typeCode;

在新页面可以通过 var lineCode = '<%= (String)request.getParameter("lineCode") %>' 这种方式来取值 第二:后台代码这样处理 request.setAttribute("product", result);

<input name="id" type="text" value="${product.id}" />

使用 ${} 来取值。

java的分布式开发怎么实现后台模块之间的数据交互

  1. 使用表单发送同步请求,实现数据交互。参数 inputStr,参数 intputlnt
  2. Java 分布式开发采用服务端后台进行实现接收模块之间的数据交互,点击服务器端来交换,点击确认即可。

android客户端如何与后台java服务器交互

  1. Java 服务器建立至少一种服务:WebServices、Servlet、Socket
  2. 客户端通过 Socket 或者 HttpURLConnection 的方式进行连接访问

服务端:

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    // TODO Auto-generated method stub
    resp.setContentType("text/html;charset=utf-8");
    req.setCharacterEncoding("utf-8");
    resp.setCharacterEncoding("utf-8");
    PrintWriter out = resp.getWriter();
    // 用HTML格式给浏览器返回数据
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Tomcat Servlet测试</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("Hello,First Servlet!");
    out.println("</body>");
    out.println("</html>");
    out.println("Hello,第一个Tomcat!!!");
    out.close();
}

客户端:

private String doGet(String url){
    String responseStr = "";
    try {
        String name = nameEdit.getText().toString().trim();
        String code = codeEdit.getText().toString().trim();
        String getUrl = URL + "?NAME=" + name + "&CODE=" + code;
        HttpGet httpRequest = new HttpGet(getUrl);
        HttpParams params = new BasicHttpParams();
        ConnManagerParams.setTimeout(params, 1000);
        HttpConnectionParams.setConnectionTimeout(params, 3000);
        HttpConnectionParams.setSoTimeout(params, 5000);
        httpRequest.setParams(params);
        HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);
        final int ret = httpResponse.getStatusLine().getStatusCode();
        if(ret == HttpStatus.SC_OK){
            responseStr = EntityUtils.toString(httpResponse.getEntity(), HTTP.UTF_8);
        }else{
            responseStr = "-1";
        }
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return responseStr;
}

详细的参见: