Bootstrap

SpringMVC Idea 搭建 部署war

1.创建 Idea项目

使用Maven模板 创建 webApp模板项目

2.导入依赖 

<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.x</groupId>
  <artifactId>jetty-x-file-server</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>jetty-x-file-server Maven Webapp</name>
  <url>http://maven.apache.org</url>




  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

<!--    <dependency>-->
<!--      <groupId>jakarta.servlet</groupId>-->
<!--      <artifactId>jakarta.servlet-api</artifactId>-->
<!--      <version>6.0.0</version>-->
<!--      <scope>provided</scope>-->
<!--    </dependency>-->

<!--    <dependency>-->
<!--      <groupId>org.springframework</groupId>-->
<!--      <artifactId>spring-webmvc</artifactId>-->
<!--      <version>6.2.0</version>-->
<!--    </dependency>-->

<!--    <dependency>-->
<!--      <groupId>com.fasterxml.jackson.core</groupId>-->
<!--      <artifactId>jackson-databind</artifactId>-->
<!--      <version>2.17.2</version>-->
<!--    </dependency>-->

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.8</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.3.18</version>
    </dependency>
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.11.0</version>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>

  </dependencies>





  <build>
    <finalName>jetty-x-file-server</finalName>
  </build>
</project>

3.web.xml更新至4.0

并且注册DispatcherServlet

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
  <!--1.注册DispatcherServlet -->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--2.关联一个springmvc的配置文件:【servlet-name】-servlet.xml -->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springmvc-servlet.xml</param-value>
    </init-param>
    <!--3.启动级别=1  -->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <!--4. / 匹配所有的请求:(不包括.jsp) -->
  <!--5. /* 匹配所有的请求:(包括.jsp) -->
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>



</web-app>

4.springmvc-servlet.xml

在resource目录下创建

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd"
>
    <!--1.注解驱动  若用jackson需要在用properties来注入-->
    <!--    JSON乱码问题-->
    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg value="UTF-8"/>
            </bean>
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="objectMapper">
                    <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
                        <property name="failOnEmptyBeans" value="false"/>
                    </bean>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>


    <!--2.静态资源-->
    <mvc:default-servlet-handler/>
    <!--3.扫描包    -->
    <context:component-scan base-package="com.x.jettyxfileserver"/>


    <!-- 文件上传配置   -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!--         请求的编码格式:必要和jsp的pageEncoding属性一致,以便正确读取表单的内容,默认为ISO-8859-1   -->
        <property name="defaultEncoding" value="utf-8"/>
        <!--           上传文件大小上限,单位为字节  (10485760=10M) -->
        <property name="maxUploadSize" value="10485760"/>
        <property name="maxInMemorySize" value="40960"/>
    </bean>


    <bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:application.properties</value>
            </list>
        </property>
    </bean>


</beans>

5.创建application.properties

在resource目录下

filePath=${FILE_PATH:C:\\Program Files\\jetty\\jetty-distribution-9.2.1.v20140609(ssl)\\webapps\\ROOT\\html\\resources}
#filePath=C:\\Users\\RJ\\Desktop\\file

配置好tomcat

 

选择exploded的 

配置应用上下文,保存就可以了

6.maven打包

直接 clean package 就好了

放入 tomcat webApps

目录下。它会自动解包,生成文件夹项目

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;