Java spring中的命令对象

Java spring中的命令对象,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我刚接触spring,不知道如何按照我的要求进行 我的要求如下: 我已经使用spring和tiles创建了web应用程序 我需要将xml传递到web应用程序,我通过在url中发送xml进行了尝试 Example: http://domain-name/SpringExample/welcome.htm?requestXml=”my xml string……….. 但问题是xml非常大,因此应用程序不接受完整的字符串 因此,我的计划是使用command对象(在command对象中声明一个变量,

我刚接触spring,不知道如何按照我的要求进行

我的要求如下:

我已经使用spring和tiles创建了web应用程序

我需要将xml传递到web应用程序,我通过在url中发送xml进行了尝试

Example: 
http://domain-name/SpringExample/welcome.htm?requestXml=”my xml string………..
但问题是xml非常大,因此应用程序不接受完整的字符串

因此,我的计划是使用command对象(在command对象中声明一个变量,然后使用该变量在jsp页面中获取该xml) 但我不知道如何使用它,我在谷歌上搜索了一下,但只能发现命令对象是在web应用程序本身中创建和填充的,即在一个页面中创建并发送到另一个页面

但对我来说,我需要从外部客户端发送它。从客户端,我需要使用命令对象将这个大型xml请求发送到SpringWeb应用程序。 我不知道如何从客户端调用它,也不知道如何在web应用程序中读取它

感谢您的帮助

提前谢谢

详细信息:

我有一个单一的SpringTiles web应用程序。我的客户机是一个简单的java应用程序,它将调用这个spring应用程序并向它发送xml字符串 我在某个地方读到,在这种情况下,我需要使用command object将数据传递给web应用程序

SpringWeb应用程序

@Controller
@RequestMapping("/welcome.htm")
@SessionAttributes("requestObj")
public class WelcomeController {  

@RequestMapping(value="requestObj", method = RequestMethod.GET)
public String redirect(@RequestParam("requestObj") SampleClass requestObj, ModelMap model)
{       
    Model.addAttribute("reqXml", requestObj.getXmlString());      
    return "welcome";    //returns to the jsp page
 }
客户:

 String url = "http://localhost/SpringTilesWebApp/welcome.htm";
 String finalURL = url + "?" + "requestObj=" + requestObj;
 Runtime.getRuntime().exec  
("rundll32 url.dll,FileProtocolHandler " + finalURL);

我真的不确定我是否走对了方向,请给我指路。

你为什么还要用GET发送?顾名思义,在尝试获取资源时必须使用HTTPGET方法

必须使用POST方法(或PUT)发送xml文档。例如,您可以将其作为隐藏的输入字段

你能再详细一点吗?
客户是谁?它只有一个spring mvc应用程序,或者已经解耦(后端与前端客户端)?

您应该使用服务器端应用程序的post请求。您可以使用ApacheHttpClient工具来实现这一点。例如:

String url = "http://localhost/SpringTilesWebApp/welcome.htm";

HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);

List<NameValuePair> urlParameters = new ArrayList<NameValuePair>();
urlParameters.add(new BasicNameValuePair("requestObj", requestObj));    

post.setEntity(new UrlEncodedFormEntity(urlParameters));

HttpResponse response = client.execute(post);

    //read and process response
现在您可以使用requestObj


您正在谈论的命令对象是什么?您是在谈论命令设计模式,还是与您正在使用的技术/fw有关?

问题很可能发生在前面,因为您将整个XML文档作为URL的一部分发送。尝试使用POST请求,并在请求正文中发送文档。谢谢Henry!!你能发布一些示例代码吗,这可能真的很有帮助。另外,我们可以使用命令对象来实现这一点吗?例如:Henry请检查上面添加的详细信息,根据要求我需要使用命令对象Hi Alex,添加了一些详细信息,请检查Thanxs Alex以获得答案:)我还有一个疑问……当我从客户端调用spring web app时,它正在使用POST,但是,当我部署并运行独立web应用程序时,它不起作用(我的意思是它说找不到页面)…另一方面,独立web应用程序在获取控制器请求映射时运行…我无法理解为什么会有差异,还有什么我需要做的,以使两者(独立应用程序和从客户端调用)都起作用?
       @RequestMapping(method = RequestMethod.POST)
       public String redirect(@RequestParam("requestObj") SampleClass requestObj, 
                                                                  ModelMap model)