首页 文章 精选 留言 我的

精选列表

搜索[pojo加载],共10000篇文章
优秀的个人博客,低调大师

在线图源或者离线资源的国家队-天地图简介及Qgis加载相关资源实战

相信作为地理信息方面的从业者,大家一定在平时的工作或者学习过程中或多或少的需要使用到在线图源,比如在WebGIS方面的地图应用,需要访问到在线的底图、地名标记图层等。于此同时,如果需要进行空间分析,我们通常需要将矢量文件和栅格数据进行空间分析。这里用的物理文件就是离线的物理文件,比如Shp和GDB等矢量文件。在互联网上有很多公开的矢量数据或者在线的图源,但是由于某些原因(具体的原因暂且不表),它的空间位置和空间范围或者标志信息是不对的,不符合现状的。

优秀的个人博客,低调大师

springboot页面加载时找不到静态资源下的文件,js与css以及图片,拦截器

最近在使用springboot时,前几天正常访问的页面,突然间访问不到js、css、图片等静态资源。经过排查发现是由于我发现程序中提示webmvcconfigureradapter已过期,所以改成了WebMvcConfigurationSupport 而WebMvcConfigurationSupport在 springboot的web自动配置类WebMvcAutoConfiguration 上有条件注解,这个注解的意思是在项目类路径中缺少WebMvcConfigurationSupport类型的bean时改自动配置类才会生效 @ConditionalOnMissingBean(WebMvcConfigurationSupport.class) 所以当我们使用拦截器并继承WebMvcConfigurationSupport这个类的时候需要重写addInterceptors这个方法 所以拦截器的配置应该如下 代码1: package com.example.syscloud.Interceptor; import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.InterceptorRegistry;import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; @Configurationpublic class WebSecurityConfig extends WebMvcConfigurationSupport { @Bean public SessionInterceptor getSessionInterceptor() { return new SessionInterceptor(); } @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**").addResourceLocations("classpath:/static/"); super.addResourceHandlers(registry); } @Override public void addInterceptors(InterceptorRegistry registry) { /*调用我们创建的SessionInterceptor。 * addPathPatterns("/**)的意思是这个链接下的都要进入到SessionInterceptor里面去执行 * excludePathPatterns("/login")的意思是login的url可以不用进入到SessionInterceptor中,直接 * 放过执行。 * 注意:如果像注释那样写是不可以的。这样等于是创建了多个Interceptor。而不是只有一个Interceptor * * */ SessionInterceptor sessionInterceptor=new SessionInterceptor(); registry.addInterceptor(sessionInterceptor).addPathPatterns("/**") .excludePathPatterns("/user/login","/userAPI/login","/user/defaultKaptcha","/publicPage/login","/css/**","/js/**","/img/**","/static/**","/mapper/**"); super.addInterceptors(registry); } }代码2: package com.example.syscloud.Interceptor; import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.example.syscloud.bean.templeBean.UserTokenBean;import com.example.syscloud.token.TokenUse;import com.example.syscloud.unit.ReturnCode;import com.example.syscloud.unit.ReturnData;import com.example.syscloud.unit.UserTokenMap;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import java.util.HashMap;import java.util.Map; public class SessionInterceptor implements HandlerInterceptor { /*在执行Controller的任务之前判断是否有Session信息 如果有Session信息就往下执行,去调用Controller。 如果没有Session就跳转到登录页面 */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { response.setCharacterEncoding("utf-8"); String token=request.getHeader("token"); String android=request.getHeader("android"); if (token!=null){ boolean bo= TokenUse.tokenVerify(token); int userid=TokenUse.getUserID(token); UserTokenBean userTokenBean =UserTokenMap.getMap(userid); if (userTokenBean!=null) { if (userTokenBean.getToken().equals(token) && bo) { Map<Integer,UserTokenBean> map=new HashMap<>(); map=UserTokenMap.getMap(); map.put(userid,userTokenBean); UserTokenMap.setMap(map); return true; } } } HttpSession session=request.getSession(); if(session.getAttribute("LoginName")!=null){ return true; } if(android!=null){ ReturnData returnData=new ReturnData(); returnData.setCode(ReturnCode.Timeout.value()); returnData.setMessage(ReturnCode.Timeout.getDesc()); String str=JSON.toJSONString(returnData); JSONObject jsonObject=JSON.parseObject(str); response.getWriter().print(jsonObject); }else { //拦截后返回的页面 String url = "/publicPage/login"; // response.sendRedirect(url); response.getWriter().print("<script> top.window.location.href = '"+url+"?r='+Math.random() ;</script>"); } return false; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { } }第二段代码是通过验证session与token实现拦截与放行功能,我写一起了,可根据需要删除部分内容

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册