当前位置:首页 » 密码管理 » spring静态文件访问

spring静态文件访问

发布时间: 2023-01-22 04:03:04

Ⅰ spring mvc 访问静态资源问题

怎么感觉你的静态资源配置有问题 ,问什么要分开配置呢 ,直接配置一次就好了呀 <mvc:resources location="/WEB-INF/resource/" mapping="/resource/**"/>,jsp引用的时候直接用resource/img/xxx.jpg

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

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

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

因为默认就是get形式

Ⅲ SpringMvc访问静态资源的几种方法

第一种:在web.xml中配置名为default的servlet-mapping
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.gif</url-pattern>

</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
第二种:在SpringMVC配置文件中添加<mvc:resource>标签
<mvc:resources mapping="/js/**" location="/js/"/>
<mvc:resources mapping="/css/**" location="/css/"/>
<mvc:resources mapping="/img/**" location="/img/"/>
第三种:在SpringMVC配置文件中添加<mvc:default-servlet-handler/>标签
<mvc:default-servlet-handler/>
第四种:修改SpringMVC的拦截路径,我这里使用的是/,也就是说所有的链接的拦截,
可以修改成*.do或者*.action或者其他,这样静态资源就不会拦截了
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

Ⅳ Spring Boot自定义静态资源映射

0、基础html页面

注意将不同demo的序号按文件修改即可, demo01.html 内容如下:

1、Spring Boot项目静态资源默认访问路径

2、在IDEA中对应的路径

访问方法: http://localhost:8080/demo01.html ,如下:

3、优先级顺序

Ⅰ classpath:/META-INF/resources
→ Ⅱ classpath:/resources
→ Ⅲ classpath:/static
→ Ⅳ classpath:/public

1、配置文件配置

Ⅰ 此处是覆盖原有配置的,所以默认路径不能漏掉,假设删除原有路径映射,如下:

可以看到此时正常访问的为,demo01和demo05,如下:

注意: 如此配置原有配置仅剩 classpath:/META-INF/resources 还生效。

Ⅱ 静态文件请求匹配方式

修改后访问路径 http://localhost:8080/test/demo05.html ,访问如下:

2、WebMvcConfigurationSupport配置

注意: 此种配置下,原有的静态资源路径被覆盖、失效。

以上即为Spring Boot自定义静态资源映射的全部内容,感谢阅读。

Ⅳ springboot静态资源访问问题

1.springboot访问静态资源的几种方式
(1)在src/main/resources/目录下创建
static文件夹
(2)在src/main/resources/目录下创建
resources文件夹
(3)在src/main/resources/目录下创建
public文件夹
(4)在src/main/resources/目录下创建
META-INF/resources文件夹

---------------------

本文来自 吴锦涛1 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_34797335/article/details/80194137?utm_source=

Ⅵ Spring Boot之如何配置静态资源的地址与访

静态资源,例如HTML文件、JS文件,设计到的Spring Boot配置有两项,一是“spring.mvc.static-path-pattern”,一是“spring.resources.static-locations”,很多人都难以分辨它们之间的差异,所以经常出现的结果就是404错误,无法找到静态资源。
1. “spring.mvc.static-path-pattern”
spring.mvc.static-path-pattern代表的含义是我们应该以什么样的路径来访问静态资源,换句话说,只有静态资源满足什么样的匹配条件,Spring Boot才会处理静态资源请求,以官方配置为例:
# 这表示只有静态资源的访问路径为/resources/**时,才会处理请求
spring.mvc.static-path-pattern=/resources/**,
假定采用默认的配置端口,那么只有请求地址类似于“http://localhost:8080/resources/jquery.js”时,Spring Boot才会处理此请求,处理方式是将根据模式匹配后的文件名查找本地文件,那么应该在什么地方查找本地文件呢?这就是“spring.resources.static-locations”的作用了。
2. “spring.resources.static-locations”
“spring.resources.static-locations”用于告诉Spring Boot应该在何处查找静态资源文件,这是一个列表性的配置,查找文件时会依赖于配置的先后顺序依次进行,默认的官方配置如下:
spring.resources.static-locations=classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources
继续以上面的请求地址为例,“http://localhost:8080/resources/jquery.js”就会在上述的四个路径中依次查找是否存在“jquery.js”文件,如果找到了,则返回此文件,否则返回404错误。
3. 静态资源的Bean配置
从上面可以看出,“spring.mvc.static-path-pattern”与“spring.resources.static-locations”组合起来演绎了nginx的映射配置,如果熟悉Spring MVC,那么理解起来更加简单,它们的作用可以用Bean配置表示,如下:
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**")
.addResourceLocations("/public-resources/")
.setCacheControl(CacheControl.maxAge(1, TimeUnit.HOURS).cachePublic());
}
}
或者等同与以下的XML。
<mvc:resources mapping="/resources/**" location="/public-resources/">
<mvc:cache-control max-age="3600" cache-public="true"/>
</mvc:resources>
结论
“spring.mvc.static-path-pattern”用于阐述HTTP请求地址,而“spring.resources.static-locations”则用于描述静态资源的存放位置。

Ⅶ 如何实现Spring的静态文件访问控制

public class UserResourcesInterceptor extends HandlerInterceptorAdapter {

private List<String> urls;

@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler) throws Exception {

String url = request.getRequestURI();

if (user.isLogin())
return true;
else {
if(urls.contains(url))
throw new AccessDeniedException();
}
return true;
}

}

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

<!-- 对静态资源文件的访问,方案一 将无法mapping到Controller的path交给default servlet handler处理
<mvc:default-servlet-handler/> -->

<!-- 对静态资源文件的访问 方案二 -->
<mvc:resources mapping="/images/**" location="/WEB-INF/views/front/images/" />
<mvc:resources mapping="/css/**" location="/WEB-INF/views/front/css/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/upload/**" location="/upload/" />
<mvc:resources mapping="/frame/**" location="/frame/" />
<mvc:resources mapping="/slidebox/**" location="/WEB-INF/views/front/slidebox/" />

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

<!-- 自动扫描的包名 -->
<context:component-scan base-package="com.app,com.core,JUnit4" ></context:component-scan>

<!-- 默认的注解映射的支持 -->
<mvc:annotation-driven />

<!-- 视图解释类 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/><!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑 -->
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
</bean>

<!-- 拦截器 -->
<mvc:interceptors>
<bean class="com.core.mvc.MyInteceptor" />
</mvc:interceptors>

<!-- 对静态资源文件的访问 方案一 (二选一) -->
<mvc:default-servlet-handler/>

<!-- 对静态资源文件的访问 方案二 (二选一)-->
<mvc:resources mapping="/images/**" location="/images/" cache-period="31556926"/>
<mvc:resources mapping="/js/**" location="/js/" cache-period="31556926"/>

<mvc:resources mapping="/css/**" location="/css/" cache-period="31556926"/>

Ⅹ springmvc的静态资源为什么被拦截

"mvc:annotation-driven" 的前缀 "mvc"未绑定
办法:这是我在spring-servlet.xml文件里使用<mvc>开头的标签时,忘记引入了命名空间。在xml的beans里面加入如下代码即可
xmlns:mvc="http://www.springframework.org/schema/mvc"
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd

静态文件访问,主要是让DispatcherServlet不拦截以下静态资源
<mvc:annotation-driven />
<mvc:resources location="/image/" mapping="/image/**"/>
<mvc:resources location="/css/" mapping="/css/**"/>
<mvc:resources location="/js/" mapping="/js/**"/>

<!-- 启动扫描所有的controller -->
<context:component-scan base-package="com.peidw.web"/>
<mvc:annotation-driven/>

<!-- 对特定路径拦截-->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/user/MyHome"/>
<mvc:mapping path="/um/*"/>
<bean class="com.peidw.web.interceptor.MyInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>

java代码里实现拦截
package com.peidw.web.interceptors;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.*;
/**
* Created by peidw on 2015/3/6.
*/

@Component
public class HelloInterceptor implements HandlerInterceptor{
private static Logger logger=Logger.getLogger(HelloInterceptor.class);

@Override
public boolean preHandle(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse, Object o) throws Exception {
logger.info("执行Action前先判断权限");
return true;
}

@Override
public void postHandle(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse, Object o, ModelAndView
modelAndView) throws Exception {
logger.info("生成视图前,可以改model和视图");
}

@Override
public void afterCompletion(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse, Object o, Exception e) throws
Exception {
logger.info("生成视图前,可以改model和视图");
}
}

package com.peidw.web;

import com.peidw.web.interceptors.HelloInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

/**
* Created by peidw on 2015/3/6.
*/

@Configuration
@EnableWebMvc
public class WebApplicationConfig extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new HelloInterceptor()).addPathPatterns("/hello");;

}
}

<!-- 全局拦截 -->
<mvc:interceptors>
<bean class="com.peidw.web.interceptor.MyInterceptor"></bean>
</mvc:interceptors>

一些常用注解
@Autowired和@Qualifier 自动注入[根据类型注入]
@Autowired 可以对成员变量、方法以及构造函数进行注释,
@Qualifier 的标注对象是成员变量、方法入参、构造函数入参。
ps:两者结合使用相当于@Resourcede效果。
@Resource 自动注入[根据名称注入],可写参数name=""
@Controller 表示控制器
@Service 表示业务处理层[一般在serviceImpl]
@Repository 表示持久层[一般在Impl]
@Component 当你的类不清楚是哪一层的时候使用该注解
@ResponseBody 异步返回数据类型为json
@RequestMapping 路径,请求类型等设置
@InitBinder 数据绑定
@RequestBody、@ModeleAttributes、@SessionAttributes等

热点内容
服务器终端不需要电脑 发布:2025-08-26 02:20:50 浏览:5
最小二乘滤波算法 发布:2025-08-26 02:09:24 浏览:495
安卓系统怎么加内存卡 发布:2025-08-26 02:08:38 浏览:245
16款凯美瑞推荐哪个配置 发布:2025-08-26 02:08:38 浏览:995
湖北高考生拍题上传 发布:2025-08-26 01:58:54 浏览:120
美国服务器租什么好 发布:2025-08-26 01:54:02 浏览:834
还原错误的密码是多少 发布:2025-08-26 01:34:12 浏览:168
平均访问量是 发布:2025-08-26 01:32:46 浏览:704
仙域开脚本 发布:2025-08-26 01:32:04 浏览:400
我的世界服务器贴图白色 发布:2025-08-26 01:10:05 浏览:699