springboot1.4版本升级2.4可访问jsp可打包

无敌的宇宙
无敌的宇宙
擅长邻域:Java,HTML,JavaScript,MySQL,支付,退款,图片上传

标签: 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_ &lt; #{0} or (date_=#{0} and course_end_ts &lt; #{1})) and status_='0'</script>")
	public List<EtStuAttendance> getAbsenteeism(String today_date,String today_hm);

改为

@Select("<script>select *  from et_stu_attendance  where    (date_ &lt; #{today_date} or (date_=#{today_date} and course_end_ts &lt; #{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展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695