springMVC访问静态文件如json文件,只能以get方法访问吗?为啥我前台ajax访问用的是post都被拒绝了?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springMVC访问静态文件如json文件,只能以get方法访问吗?为啥我前台ajax访问用的是post都被拒绝了?相关的知识,希望对你有一定的参考价值。

如果不是这能以get方法访问,那么怎么更改springmvc的配置使得其可以通过post方式访问静态的json格式的文件。

访问当然用get啦,提交用post

要想POST 首先定义一下 @RequestMapping(value="/XXX", method = RequestMethod.POST)

因为默认就是get形式
参考技术A 通风与投入一日提 参考技术B @RequestMapping(value="yourRequestURI",method=RequestMethod.POST)

springMVC如何访问静态文件

在进行Spring MVC的配置时,通常我们会配置一个dispatcher servlet用于处理对应的URL。配置如下:
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
这表示名字为mvc-dispatcher的servlet会处理一切的url对应的请求,那么我们怎么让servlet来处理项目中的静态资源呢?这里有两种方法。
1. 另外使用一个servlet来处理静态资源。若我们的资源放置在webapps文件夹下的resources文件夹中,那么我们可以用名字为default的servlet来处理静态资源。因此我们还需要在上述配置的基础上加上以下配置:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>resources/*</url-pattern>
</servlet-mapping>
这表示default的servlet会处理url中为resources/*的对应的请求。这样,当你把你的image,css已经其他文件放在resources文件中时,spring就可以找到它啦。

2. 采用spring自带<mvc:resources>方法。首先找到你定义的那个servlet的xml文件,如本例子中,servlet的名字叫mvc-dispatcher,因此需要找到mvc-dispatcher-servlet.xml文件,并在该文件中插入以下配置:
<mvc:annotation-driven/>
<mvc:resources mapping="/resources/**/" location="/resources/"/>
这样,就不必另外添加一个mvc来处理静态资源。而mvc知道静态资源所处的位置为resources文件夹。
两种方法都可以将spring mvc配置处理静态资源。

以上是关于springMVC访问静态文件如json文件,只能以get方法访问吗?为啥我前台ajax访问用的是post都被拒绝了?的主要内容,如果未能解决你的问题,请参考以下文章

关于springMVC中静态文件路径问题

springMVC如何访问静态文件

SpringMVC返回JSON数据以及文件上传过滤静态资源

aws s3 如何处理覆盖文件和访问?

springMVC 静态文件 访问

如何让springmvc对静态资源文件的访问使用文件系统的相对路径