【问题标题】:How to build request to java server?如何构建对 java 服务器的请求?
【发布时间】:2014-04-08 06:59:07
【问题描述】:

我正在 Java 上为它编写一个 REST 服务器和客户端。我这样做是出于教育目的。

我的服务器是一个 Web 应用程序,它通过 servlet 处理来自客户端的请求。之后,它打开一个存储连接,检索数据并将其作为 json 发送。 我的客户是一个有一些简单网页的网络应用程序。用户单击一个按钮,客户端句柄上的 servlet 并向服务器发送(原文如此!)请求。

这种方式可能有点奇怪,因为在客户端现代世界只编写带有丰富 JS 代码的 html 页面,例如Bootstrap、Backbone Angular 等和服务器端是通过 JAX-RS 或 Spring 编写的,但我的目标是尽可能简单地在纯 Java 上编写这个宠物项目。

我遇到了一个问题,我不明白如何将请求从客户端发送到服务器端。我在 servlet 中收到用户的请求,我想向服务器发送响应。

有哪些可能的方法来做到这一点,最好的方法是什么?

谢谢。

【问题讨论】:

  • 阅读有关 servlet 容器和 ajax 调用的文档。
  • 我想避免 AJAX 调用。我们还有其他方式向服务器发送请求吗?
  • 您不只是在以一种困难和困惑的方式询问如何从 servlet 调用 REST 服务吗?在这种情况下,答案是:使用 JAX-RS API,例如作为参考实现的 Jersey。

标签: java servlets


【解决方案1】:

您可以使用Jquery Ajax 调用您的网络服务,并在服务器端使用所需的参数。根据从 servlet 获取的数据更新您的 view/jsp/html。

来自 javascript 的 Ajax 调用:

function onButtonClick(){
   $.ajax({         
            type:       "post", //method type
            dataType:   "json", //response data type
            url:        ajaxUrl, //your webservice URL
            data:       "jsonobj", // Data to be send to server
            success:    function(response)  // call back function after get successfull responce
            {  
               // Process JSON response here  

            }  
      });    
 }    

你的 servlet 代码:

public class ResellerServlet extends HttpServlet   
{    
    public void doPost(HttpServletRequest req, HttpServletResponse res)  
    {  
        //Process request here   
        // Convert your response in JSON and send it back to client
    }  
 }

【讨论】:

  • 谢谢,亚格内什。正如我提到的,你尽量避免使用来自网页的请求,我想在调用 servlet 时这样做
  • 那么在没有网页请求的情况下如何从客户端调用servlet?
  • 正如我在我的问题中提到的,客户端点击网页,servlet 被调用——客户端会发出请求,我误用了 lang,我的意思是不要做 ajaz 请求。我假设如果我需要在显示之前以某种方式从服务器计算我的数据,最好在 java 上做 JS
  • 您能发布一些代码,客户端将如何向 servlet 发出请求吗?
  • 我的意思是提交一个帖子表单,例如stackoverflow.com/questions/5160311/…
猜你喜欢
  • 2014-02-22
  • 1970-01-01
  • 1970-01-01
  • 2013-10-07
  • 2011-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多