当前位置: 首页 > wzjs >正文

电子商务网站建设试题 答案WordPress数据库搜索

电子商务网站建设试题 答案,WordPress数据库搜索,深圳有名的建设公司,厦门市建设工程安全质量协会网站Spring Boot真正的核心功能是自动配置和快速整合,通常Spring Boot应用的前端MVC框架依然使用Spring MVC。Spring Boot提供的spring-boot-starter-web启动器嵌入了Spring MVC的依赖,并为Spring MVC提供了大量自动配置,可以适用于大多数Web开发…

Spring Boot真正的核心功能是自动配置和快速整合,通常Spring Boot应用的前端MVC框架依然使用Spring MVC。Spring Boot提供的spring-boot-starter-web启动器嵌入了Spring MVC的依赖,并为Spring MVC提供了大量自动配置,可以适用于大多数Web开发场景。 除了使用自动配置所提供的功能,开发者也可以通过自定义配置类定制Spring MVC的配置。

Spring Boot为Spring MVC自动配置提供的特性

在Spring Boot项目中,一旦引入了Web依赖启动器spring-boot-starter-web,那么Spring Boot整合Spring MVC框架默认实现的一些XxxAutoConfiguration自动配置类就会自动生效,几乎可以在无任何额外配置的情况下进行Web开发。

Spring Boot为Spring MVC提供了自动配置,并在Spring MVC默认功能的基础上添加了以下特性。

(1)引入了视图解析器 ContentNegotiatingViewResolver和BeanNameViewResolver。

(2)为包括WebJars在内的静态资源提供支持。

(3)自动注册 Converter、GenericConverter和Formatter。

(4)支持使用HttpMessageConverters消息转换器。

(5)自动注册 MessageCodesResolver。

(6)支持静态项目首页index.html。

(7)支持定制应用图标favicon.ico。

(8)自动初始化Web数据绑定器ConfigurableWebBindingInitializer。

自定义Spring MVC配置

在Spring Boot应用中使用Spring MVC时,如果希望在为Spring MVC自动配置提供相关特性的同时,再增加一些自定义的Spring MVC配置,例如添加拦截器、视图控制器等,可以通过自定义WebMvcConfigurer类型的配置类来实现。

1.配置静态资源映射

通常Web应用中会需要使用静态资源,例如,JavaScript文件、CSS文件和HTML文件等。单独使用Spring MVC时,导入静态资源文件后,需要配置静态资源的映射,否则无法正常访问。Spring Boot中提供了默认的静态资源映射,当访问项目中任意的静态资源时,Spring Boot会默认从以下路径中从上往下进行查找:

(1)classpath:/META-INF/resources/

(2)classpath:/resources/

(3)classpath:/static/

(4)classpath:/public/

这个查找顺序可以通过源码查看:WebMvcAutoConfiguration--》搜索getStaticLocations--》进入该方法--》寻着轨迹就能找到。

修改静态资源存放位置:

spring.resources.static-locations=字符串数组

例如:

在chapter03项目中的 src/main/resources/static和 src/main/resources目录下分别创建main.html文件和index.html文件,并在项目启动后分别在浏览器中对这两个静态资源进行访问。

如果想访问非默认静态资源文件夹下的资源,可以通过配置类和配置文件2种方式实现自定义静态资源的映射。

(1)通过配置类实现静态资源映射

配置类需要实现WebMvcConfigurer接口,在重写该接口的addResourceHandlers()方法中指定资源访问路径和资源之间的映射关系。

(2)通过配置文件实现静态资源映射

Spring Boot在Spring MVC的自动配置中提供了对应的属性可以配置静态资源访问路径和资源的映射。

下面以通过配置类实现静态资源映射为例,演示配置静态资源映射。

(1)创建静态资源。

在src/main/resources目录下,创建文件夹backend,并在文件夹中创建HTML文件index.html和login.htm。

(2)配置静态资源映射。

在config子包下创建配置类WebMvcConfig,该配置类实现WebMvcConfigurer接口,并重写该接口的方法实现自定义Spring MVC的配置,具体如文件3-11所示。

import  org.springframework.context.annotation.Configuration;
import  org.springframework.web.servlet.config.annotation.
ResourceHandlerRegistry;
import  org.springframework.web.servlet.config.annotation.
WebMvcConfigurer;
@Configuration
public  class  WebMvcConfig implements  WebMvcConfigurer {@Overridepublic  void  addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/");}}

 (3)测试程序效果。启动项目,在浏览器中访问backend文件夹下的index.html。

2.配置视图控制器

使用Spring MVC默认的配置进行开发时,如果仅实现无业务逻辑的页面跳转,也需要创建Controller类,然后定义方法跳转到页面,操作比较麻烦。对此,可以在视图控制器中添加自定义的映射,直接将请求映射为视图。

下面通过案例演示在视图控制器中配置请求和视图的映射,具体如下。

(1)配置视图控制器映射信息。在文件3-11中重写WebMvcConfigurer接口的addViewControllers()方法,在该方法中添加访问路径和视图的映射。

@Override
public void addViewControllers(ViewControllerRegistry registry) {/*如果在thymeleaf中会出错,因为配置了前缀和后缀,*视图名"/backend/login.html"加上前缀后缀后,这个地址肯定不存在,*直接写逻辑视图名即可*/	    //registry.addViewController("/backend/toLoginPage").setViewName("/backend/login.html");//registry.addViewController("/backend").setViewName("/backend/index.html");//在thymeleaf环境下访问模板页面registry.addViewController("/backend/toLoginPage2").setViewName("login");registry.addViewController("/backend").setViewName("index");
}

(2)测试程序效果。启动项目,在浏览器中访问http://localhost:8080/backend/toLoginPage2。

总结:只适合较为简单的无参数get请求跳转,对于有参数或者需要业务处理的跳转需求,最好采用传统方式。

3.配置拦截器

拦截器可以根据请求的URL对请求进行拦截,主要应用于登录校验、权限验证、乱码解决、性能监控和异常处理等方面。在Spring Boot项目中配置拦截器也非常简单,只需要定义拦截器和注册拦截器即可。 

拦截过程

下面通过案例演示在Spring Boot项目中配置拦截器。

(1)定义拦截器。创建interceptor子包,在该包下创建拦截器类,该类实现了 HandlerInterceptor接口,并重写了接口的preHandle()方法,具体如文件3-12所示。

@Component
public class LoginInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception {// 获取请求路径String requestURI = request.getRequestURI();// 获取登录用户Object loginUser = request.getSession().getAttribute("loginUser");// 如果请求路径是"/backend"开头的,并且用户没有登录,//那么将请求重定向到登录页面或者内部转发if (requestURI.startsWith("/backend") && loginUser == null) {response.sendRedirect("/toLoginPage");//request.getRequestDispatcher("/toLoginPage").forward(request,response);return false;}return true;}}

(2)注册拦截器。

在文件3-11中重写WebMvcConfigurer接口的addInterceptors()方法,在该方法中添加拦截器。

    @Autowiredprivate LoginInterceptor loginInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(loginInterceptor).addPathPatterns("/**").excludePathPatterns("/toLoginPage");}

(3)效果测试

重启项目,启动成功后,在浏览器上访问http://localhost:8080/backend

动手试一试

不拦截静态资源,比如图片,css 。


文章转载自:

http://Buv3oY18.rrhfy.cn
http://0qQEJ3fo.rrhfy.cn
http://lU2KjCkc.rrhfy.cn
http://jQsc7ilI.rrhfy.cn
http://dtqiFOmy.rrhfy.cn
http://HgzDnJfC.rrhfy.cn
http://kVVcgKQU.rrhfy.cn
http://pqr9llJT.rrhfy.cn
http://1uUZV8e6.rrhfy.cn
http://XXxpE6z8.rrhfy.cn
http://bBSmW8Nq.rrhfy.cn
http://8x75VxP4.rrhfy.cn
http://c4RvCDpZ.rrhfy.cn
http://eU3h8HIo.rrhfy.cn
http://IZoSIv05.rrhfy.cn
http://jZyZsEWV.rrhfy.cn
http://L2LxEdos.rrhfy.cn
http://qdaVEg1E.rrhfy.cn
http://3dDbt3IF.rrhfy.cn
http://TI82NSMp.rrhfy.cn
http://Z5g312Hw.rrhfy.cn
http://TpLpNqPk.rrhfy.cn
http://JmUsZF9a.rrhfy.cn
http://rmbR8QFt.rrhfy.cn
http://M8z8xrrO.rrhfy.cn
http://Sh4g51m3.rrhfy.cn
http://ikqtXGFA.rrhfy.cn
http://DhK4kGBV.rrhfy.cn
http://xHdhqIqM.rrhfy.cn
http://Atb6VD6b.rrhfy.cn
http://www.dtcms.com/wzjs/734114.html

相关文章:

  • 做一款网站南阳做网站费用
  • 柘城县网站建设青岛集团网站建设
  • 建设小型网站wordpress模板优化
  • 网站里的团队建设范本太原今天最新通知
  • 凡科网站自己如何做用html5做手机网站
  • 河西苏州网站建设沈阳男科医院哪家好点
  • 橱柜手机网站模板手机如何做网页
  • 做设计在哪个网站找图片做公司产品展示网站
  • 淘宝的电子商务网站的建设潍坊个人网站制作
  • 网站哪家做得好撸撸撸做最好的导航网站
  • 网站编辑心得体会萧山做网站公司
  • 深圳做网站推广优化保定网站建设保定
  • 网站的程序有哪些内容校园推广的方式有哪些
  • 简单的网站开发流程wordpress 找不到安装主题
  • 帝国网站后台编辑器没有了专业网站建设网站推广
  • 网站后台怎么做alt标签做网站的基础
  • 企业专业网站建设的必要性建立良好的公共秩序教学设计
  • 网站 aspx 模板网站静态化的好处
  • 怎么能创建自己的网站个人对网络营销的看法
  • 珠海一元夺宝网站建设做网站的类型
  • 怎么做这个购物网站wordpress建站好不好
  • 上传文件到网站根目录个人作品主页wordpress
  • 免费域名网站推荐新闻头条新闻
  • 做网站界面一般用什么来做制作小程序教程
  • 展示型手机网站ae免费模板下载网站
  • 承德住房和城乡建设局网站关闭了网站设计师认证培训
  • 公司网站公司新闻wordpress只能显示字
  • 大网站服务器维护费用江门百度seo
  • 昆明企业为什么要做网站学院网站建设管理办法
  • 制作网站源码软件学校介绍网站模板