struts2如何指定是post请求还是get请求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2如何指定是post请求还是get请求相关的知识,希望对你有一定的参考价值。
参考技术A 方法在项目开发过程中,发现有个页面会提交两次,一直没有找到原因,后来发现产生这个Bug的原因是UI设计师在JSP页面中加入了下面这些代码:<style> body background:#ffffff url(); </style>??他的目的是设置页面背景颜色,页面图片的地址为空,这个写法在IE中没有问题,但是在FireFox和谷歌浏览器中会有问题,会以GET方式提交当前页面,通过FireBug请求的头信息为(说明页面不知道图片地址,会向后台发GET请求):Accept image/png,image/*;q=0.8,*/*;q=0.5??其实这是一个CSS规范语法问题,如果把url的参数设为"有效图片地址"就没有问题了(不需加单引号或双引号),另外去掉url函数也没有问题:<style> body background:#ffffff url(a.jpg); </style><style> body background:#ffffff </style>??回到主题,在Java文件中,判断页面提交方式的代码如下:??String method = org.apache.struts2.ServletActionContext.getRequest() .getMethod(); boolean isPostMethod = "POST".equalsIgnoreCase(method); if (!isPostMethod) System.out.println("prepare() GET 方式提交"); else System.out.println("prepare() POST 方式提交"); 本回答被提问者采纳
GET与POST区别
GET:通常用来从指定的资源请求数据
GET请求可被缓存;
GET请求保留在浏览器历史纪录中;
GET请求不应在处理敏感数据时使用;
GET请求有长度限制;
GET请求只应当用于取回数据。
POST:通常用来向指定的资源提交要被处理的数据
POST请求不会被缓存;
POST请求不会保留在浏览器历史记录中;
POST请求对数据长度无限制;
POST主要向服务器提交数据,尤其是大批量的数据。
以上是关于struts2如何指定是post请求还是get请求的主要内容,如果未能解决你的问题,请参考以下文章
Struts2 Action接收POST请求JSON数据及其实现解析