【Java】SpringMVC+JSP部署服务器配置

Spring构建的web项目结构如下:

【Java】SpringMVC+JSP部署服务器配置_第1张图片

 

static下放诸如js、img、css、font之类的文件

templates里放的是404之类的文件(不过我放了貌似没有效果???)

紧接着创建一个名为webapp的文件夹,并设置项目structure

【Java】SpringMVC+JSP部署服务器配置_第2张图片

 

 然后该文件夹下放jsp文件,如下图所示。

【Java】SpringMVC+JSP部署服务器配置_第3张图片

 

 然后我们要去properties里面设置一下jsp的前后缀:(前两项负责找到jsp,后两项负责解析css、js等文件)

spring.mvc.view.prefix=/page/
spring.mvc.view.suffix=.jsp
# 应该以什么样的路径来访问静态资源,这表示只有静态资源的访问路径为/static/ 时才会处理(如http://localhost:8080/static/css/base.css)
spring.mvc.static-path-pattern=/**
#用于告诉Spring Boot应该在何处查找静态资源文件,查找文件时会依赖于配置的先后顺序依次进行
spring.resources.static-locations=classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources

因为我的webapp下面是page/ 所以设置前缀是/page/

紧接着我们添加jsp支持,在pom文件中加入几个依赖:(这里给出的是完整的,毕竟比较常用,注意不要引入thymeleaf,因为这两个不能共存)

 <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>org.mybatis.spring.bootgroupId>
            <artifactId>mybatis-spring-boot-starterartifactId>
            <version>2.1.3version>
        dependency>
        
        <dependency>
            <groupId>org.apache.taglibsgroupId>
            <artifactId>taglibs-standard-implartifactId>
            <version>1.2.5version>
        dependency>
        
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>javax.servlet-apiartifactId>
        dependency>
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>jstlartifactId>
        dependency>
        
        <dependency>
            <groupId>com.microsoft.sqlservergroupId>
            <artifactId>mssql-jdbcartifactId>
            <version>7.2.2.jre8version>
        dependency>
        <dependency>
            <groupId>org.apache.tomcat.embedgroupId>
            <artifactId>tomcat-embed-jasperartifactId>
        dependency>
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <scope>runtimescope>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintagegroupId>
                    <artifactId>junit-vintage-engineartifactId>
                exclusion>
            exclusions>
        dependency>
    dependencies>

这样直接编译运行都是没有问题的,但是打成jar包部署的时候,直接报404

打开jar包发现jsp页面根本就没有导入,所以需要配置一下resource目录。

在pom.xml的中添加属性(直接用即可)

<resources>
            <resource>
                
                <directory>src/main/webappdirectory>
                
                <targetPath>META-INF/resourcestargetPath>
                <includes>
                    <include>**/**include>
                includes>
            resource>
            <resource>
                <directory>src/main/resourcesdirectory>
                <includes>
                    <include>**/**include>
                includes>
                <filtering>falsefiltering>
            resource>
            
            <resource>
                <directory>src/main/javadirectory>
                <excludes>
                    <exclude>**/*.javaexclude>
                excludes>
            resource>
        resources>

然后再次打jar包,然而还是404。。。

我们还需要配置一下打包插件,也是在pom中(即配置主类,并使用1.4.2来打包,只有这个版本支持jsp。。。我也是醉了)

  <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
                <version>1.4.2.RELEASEversion>
                <configuration>
                    
                    <fork>truefork>               
  
            <mainClass>com.paul623.javaweb.ex.humanresourcemanagement.HumanresourcemanagementApplicationmainClass> configuration> plugin> plugins>

然后就可以愉快的使用啦~~~

另外提一下,jsp中资源访问路径

假如我的font.css文件在resource/static/css/font.css

我的jsp文件在webapp/page/dept/下,则访问路径为../css/font.css

 

可以参考一下这个项目https://github.com/paul623/LibraryManager的配置,花了好久在网上搜寻答案,按照这样配置绝对不会出问题。

希望能对你有帮助~

你可能感兴趣的:(【Java】SpringMVC+JSP部署服务器配置)