package com.de.debook.constant; public class WebConstant { public static String CONTEXT_PATH; // 项目实际部署路径 public static String WEB_FILE_ROOT; // 项目存储路径 public static String FILE_STORAGE_ROOT; public static final String SESSION_KEY_USER = "user"; }
时间: 2024-01-24 11:20:01 浏览: 71
这是一个Java类文件,其中定义了几个静态变量,用于存储Web应用程序中的常量。具体来说:
- `CONTEXT_PATH` 存储了当前Web应用程序在服务器上的实际部署路径,可以用来访问Web应用程序的资源文件或者其他路径相关的操作。
- `WEB_FILE_ROOT` 存储了当前Web应用程序中的文件存储路径,一般用来存储上传的文件等。
- `FILE_STORAGE_ROOT` 存储了文件存储的根路径,一般用来指定文件存储的根目录。
- `SESSION_KEY_USER` 是一个字符串常量,表示用户会话中的键值,用于存储用户信息等。
这些静态常量可以在整个Web应用程序中被使用,为开发人员提供了便利和统一的管理方式。
相关问题
package com.de.debook.init; import com.de.debook.constant.WebConstant; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; import org.springframework.util.ClassUtils; @Component public class InitConfig implements CommandLineRunner { @Override public void run(String... strings) throws Exception { // 项目路径 WebConstant.WEB_FILE_ROOT = ClassUtils.getDefaultClassLoader() .getResource("").getPath().substring(1); // 图片存储目录 WebConstant.FILE_STORAGE_ROOT = WebConstant.WEB_FILE_ROOT + "static/images/"; } }
这是一个Spring Boot项目的初始化配置类,实现了CommandLineRunner接口,用于在Spring Boot应用程序启动时执行一些初始化操作。
具体来说,该配置类的run方法实现了以下两个操作:
1. 获取项目路径:通过ClassUtils.getDefaultClassLoader().getResource("").getPath()方法获取当前类所在的classpath路径,然后通过substring(1)方法去掉开头的“/”字符,得到项目的根路径。
2. 设置图片存储目录:将WebConstant.WEB_FILE_ROOT和"static/images/"拼接起来,得到图片存储目录的绝对路径,保存到WebConstant.FILE_STORAGE_ROOT中。
这里的WebConstant是一个常量类,用于保存项目中的常量值。通过这个配置类,我们可以方便地获取项目路径和设置图片存储目录,从而方便地进行文件操作。
package com.de.debook.interceptor; import com.de.debook.entity.User; import com.de.debook.constant.WebConstant; 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 javax.servlet.http.HttpSession; @Component public class AuthorityInterceptor implements HandlerInterceptor { // 权限拦截器 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session = request.getSession(); User user = (User) session.getAttribute(WebConstant.SESSION_KEY_USER); // 用户未登录状态返回登录页面 if (user == null) { response.sendRedirect("/user/login.html"); return false; } return true; } @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 { } }
这段代码是一个权限拦截器,用于拦截未登录用户的访问。在 preHandle 方法中,首先获取 HttpSession 中的 User 对象,如果 User 为 null,说明用户未登录,此时将请求重定向到登录页面,并返回 false,拦截请求。如果 User 不为 null,说明用户已经登录,放行请求,返回 true。其他两个方法没有实现,不做处理。
阅读全文