springboot1.4版本升级2.4可访问jsp可打包
标签: springboot1.4版本升级2.4可访问jsp
2023-05-08 23:30:27 781浏览
springboot1.4版本升级2.4可访问jsp
springboot1.4版本升级2.4可访问jsp,老jsp项目升级,替换pom.xml,demo商业音乐播放网站
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jf3q.s</groupId>
<artifactId>springboot</artifactId>
<packaging>jar</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>music</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.10</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<!--<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency> -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jsp-api</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.2.3</version>
<classifier>jdk15</classifier><!-- 指定jdk版本 -->
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.4.6</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<resources>
<!-- 打包时将jsp文件拷贝到META-INF目录下 -->
<resource>
<!-- 指定resources插件处理哪个目录下的资源文件 -->
<directory>src/main/webapp</directory>
<!--注意此次必须要放在此目录下才能被访问到 -->
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
<resource>
<directory>src/main/resources/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<!-- 一定要注意mvn的插件一定是1.4.2.RELEASE,否则jsp访问不到 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
</plugin>
</plugins>
</build>
</project>application.properties
server.error.path= /error.jsp server.port=8099 spring.datasource.url=jdbc:mysql://localhost:3306/music_ssm?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.mvc.view.prefix= / spring.mvc.view.suffix= .jsp logging.level.com.jf3q.s.dao=debug mybatis.mapper-locations = classpath:mapper/*Mapper.xml #2.x spring.servlet.multipart.maxFileSize=-1 spring.servlet.multipart.maxRequestSize=-1
注意事项:
加项目名的改为下面这样
server.servlet.context-path=/esms
1 ,参数有2个或更多时候,需要用名称不能用#{0},#{1};
@Select("<script>select * from et_stu_attendance where (date_ < #{0} or (date_=#{0} and course_end_ts < #{1})) and status_='0'</script>")
public List<EtStuAttendance> getAbsenteeism(String today_date,String today_hm);改为
@Select("<script>select * from et_stu_attendance where (date_ < #{today_date} or (date_=#{today_date} and course_end_ts < #{today_hm})) and status_='0'</script>")
public List<EtStuAttendance> getAbsenteeism(String today_date,String today_hm);
2.上传文件大小设置,改成2.x的,不限制-1限制10Mb
1.x #spring.http.multipart.maxFileSize = -1
#spring.http.multipart.maxRequestSize = -1
2.x
spring.servlet.multipart.maxFileSize=-1
spring.servlet.multipart.maxRequestSize=-1
3,会拦截静态资源,在自定义的拦截器放行即可
以下是我添加的静态资源放行,这里是字符串对比,不能用通配符
,"assets","dist","upimgs","html","error.jsp"
package com.jf3q.s.Interceptor;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.jf3q.s.entity.MuAdmin;
import com.jf3q.s.entity.MuKind;
import com.jf3q.s.entity.MuUsers;
import com.jf3q.s.service.MuFuncService;
import com.jf3q.s.service.MuKindService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;
public class LoginInterceptor implements HandlerInterceptor {
// 执行Handler方法之前执行
// 用于身份认证、身份授权
// 比如身份认证,如果认证通过表示当前用户没有登陆,需要此方法拦截不再向下执行
//验证用户权限
@Autowired
MuKindService kindService;
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
String url = request.getRequestURI();
System.out.println("---------url:"+url);
HttpSession session= request.getSession();
if(url.indexOf("/static/")>-1)return true;
if(session.getAttribute("kindLi")==null){
MuKind k=new MuKind();
k.setType("audio");
k.setOrderby("ksort_asc");
List<MuKind> kli=kindService.queryList(k);
session.setAttribute("kindLi",kli);
}
//后台登录验证
if(url.indexOf("/admin/")>-1) {
MuAdmin au = (MuAdmin) request.getSession().getAttribute("adminU");
if(url.indexOf("/tologin")>-1||url.indexOf("/login")>-1||url.indexOf("/logout")>-1){
return true;
}else{
if(au==null){
response.sendRedirect(request.getContextPath()+"/admin/muAdmin/tologin");
return false;
}else{
return true;
}
}
}else if(url.indexOf("/jsp/")>-1) {
MuUsers uu = (MuUsers) request.getSession().getAttribute("UsersU");
if(url.indexOf("/my/")>-1){
if(uu==null){
response.sendRedirect(request.getContextPath()+"/jsp/muUsers/tologin");
return false;
}
}
return true;
}
return true;
}
// 进入Handler方法之后,返回modelAndView之前执行
// 应用场景从modelAndView出发:将公用的模型数据(比如菜单导航)在这里
// 传到视图,也可以在这里统一指定视图
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
}
// 执行Handler完成执行此方法
// 应用场景:统一异常处理,统一日志处理
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception {
}
}//注入拦截器并实例化里面的service,添加图片虚拟路径
package com.jf3q.s;
import com.jf3q.s.Interceptor.LoginInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.format.FormatterRegistry;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.validation.MessageCodesResolver;
import org.springframework.validation.Validator;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.HandlerMethodReturnValueHandler;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.config.annotation.*;
import java.util.List;
@Configuration
public class WebappAdapter implements WebMvcConfigurer{
/**
* 注册拦截器
*/
@Bean
public LoginInterceptor getLoginInterceptor() {
return new LoginInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor( getLoginInterceptor());
}
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> arg0) {
// TODO Auto-generated method stub
}
@Override
public void addCorsMappings(CorsRegistry arg0) {
// TODO Auto-generated method stub
}
@Override
public void addFormatters(FormatterRegistry arg0) {
// TODO Auto-generated method stub
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry arg0) {
arg0.addResourceHandler("/upimgs/**").addResourceLocations("file:D:/upimgs/");
}
@Override
public void addReturnValueHandlers(
List<HandlerMethodReturnValueHandler> arg0) {
// TODO Auto-generated method stub
}
@Override
public void addViewControllers(ViewControllerRegistry arg0) {
// TODO Auto-generated method stub
}
@Override
public void configureAsyncSupport(AsyncSupportConfigurer arg0) {
// TODO Auto-generated method stub
}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer arg0) {
// TODO Auto-generated method stub
}
@Override
public void configureDefaultServletHandling(
DefaultServletHandlerConfigurer arg0) {
// TODO Auto-generated method stub
}
@Override
public void configureHandlerExceptionResolvers(
List<HandlerExceptionResolver> arg0) {
// TODO Auto-generated method stub
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> arg0) {
// TODO Auto-generated method stub
}
@Override
public void configurePathMatch(PathMatchConfigurer arg0) {
// TODO Auto-generated method stub
}
@Override
public void configureViewResolvers(ViewResolverRegistry arg0) {
// TODO Auto-generated method stub
}
@Override
public void extendHandlerExceptionResolvers(
List<HandlerExceptionResolver> arg0) {
// TODO Auto-generated method stub
}
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> arg0) {
// TODO Auto-generated method stub
}
@Override
public MessageCodesResolver getMessageCodesResolver() {
// TODO Auto-generated method stub
return null;
}
@Override
public Validator getValidator() {
// TODO Auto-generated method stub
return null;
}
}
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
暂无评论,快来写一下吧
展开评论
他的专栏
他感兴趣的技术


java
vue
springboot
Mysql
ssm
小程序
uniapp
js和jquery