idea搭建springmvc(maven版)

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

idea搭建springmvc(maven版)

北城墨白   2020-02-02 我要评论

一、创建maven项目

(1)选择 file > new > project

    

 

    

 

  (2)填写对应信息,一路点击next

    

 

    配置自己本地的maven,继续next

    

 

    命名项目名(随意写,但要易懂),点击 finish

    

 

 

   (3)自动加载maven

    

 

 

     配置web的xml

    

 

 

     等待maven加载完毕,见下图说明maven创建成功

    

 

 

 

 二、搭建编码结构

   maven配置完毕后,需搭建项目结构,为编码做准备,下面简单给一些文件夹结构供参考,当然不一定非要以下面方式搭建。

  (1) 既然我们使用的是springMVC,就需要将springmvc的相关配置加载到项目中去

     选中项目,右键选中 Add Framework Support

    

 

 

     

     勾选中 springMVC ,勾选Download  点击OK

     

 

 

     

     现在,idea正在加载springMVC的相关jar包

    

 

 

      加载完毕后,左侧的项目结构列表中会多出来一个lib的文件夹,我们可以将其删除(因为我们有maven的pom文件导入jar包)

    

 

  (2)为编码搭建项目结构列表

    首先我们先看下目前的项目结构情况。

    

 

    ok,接下来在此基础上开始添加文件夹,各个功能的文件夹以及编码习惯因人而异,下面给出一些参考。

    <1>. 在main目录下创建java文件夹,其下分别创建commonutil,controller,dao,service,mapper文件夹,用于存放和管理后台代码;

    <2>. 在main目录下创建resources文件夹,用于存放资源文件。

    <3>. 在src目录下创建test文件夹,用于存放单元测试代码。

    <4>. 在webapp文件夹下创建res文件夹,其下依次创建js,css,img文件夹,用于存放相应类型的文件。

    <5>. 在WEB-INF文件夹下创建views文件夹,用于存放jsp页面文件。

     完成创建的完整项目结构见下图:

    

 

 

 

   (3)结构搭建完毕,我们需要给每个文件夹赋予编码权限,否则右键是创建不了java文件的。

       选择“File -> Project Structure”,打开对话框,点击java文件夹,选择Sources,点击resources文件夹,选择Resources,点击test文件夹,选择Test Resources。

       点击apply    ,点击ok  ,接下来就可以创建java文件了

       

    

  (4)配置maven的pom文件,前面我们说过可以将lib文件夹删除,在这里直接自动让maven导入jar包即可

      pom配置如下: 

<?xml version="1.0" encoding="UTF-8"?>

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>MavenDemo2</groupId>
  <artifactId>test.maven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>test.maven Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <!-- junit测试包-->
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    <https://img.qb5200.com/download-x/dependency>
    <!--日志包-->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.8.0-alpha2</version>
    <https://img.qb5200.com/download-x/dependency>
    <!--mysql驱动包-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>6.0.6</version>
    <https://img.qb5200.com/download-x/dependency>
    <!-- JDBC连接池 -->
    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.5.2</version>
    <https://img.qb5200.com/download-x/dependency>
    <!-- DruidDataSource,本工程的dataSource配置使用的Druid -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.0.29</version>
    <https://img.qb5200.com/download-x/dependency>
    <!--spring相关包-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.3.8.RELEASE</version>
    <https://img.qb5200.com/download-x/dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.3.8.RELEASE</version>
    <https://img.qb5200.com/download-x/dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>4.3.8.RELEASE</version>
    <https://img.qb5200.com/download-x/dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-oxm</artifactId>
      <version>4.3.8.RELEASE</version>
    <https://img.qb5200.com/download-x/dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>4.3.8.RELEASE</version>
    <https://img.qb5200.com/download-x/dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>4.3.8.RELEASE</version>
    <https://img.qb5200.com/download-x/dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.3.8.RELEASE</version>
    <https://img.qb5200.com/download-x/dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.8.10</version>
    <https://img.qb5200.com/download-x/dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjrt</artifactId>
      <version>1.8.10</version>
    <https://img.qb5200.com/download-x/dependency>
    <!-- 支持jsp相关包 -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    <https://img.qb5200.com/download-x/dependency>
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    <https://img.qb5200.com/download-x/dependency>
    <!--servlet/jsp api start-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>3.0-alpha-1</version>
    <https://img.qb5200.com/download-x/dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2.1-b03</version>
    <https://img.qb5200.com/download-x/dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.16.16</version>
    <https://img.qb5200.com/download-x/dependency>
    <!-- Mybatis管理 start -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.1</version>
    <https://img.qb5200.com/download-x/dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.0</version>
    <https://img.qb5200.com/download-x/dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.33</version>
    <https://img.qb5200.com/download-x/dependency>
  <https://img.qb5200.com/download-x/dependencies>

  <build>
    <finalName>test.maven</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-corehttps://img.qb5200.com/download-x/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.7.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.20.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

  (5)配置web,xml文件

      web.xml配置如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
 5          version="3.1">
 6 
 7     <display-name>Archetype Created Web Application<https://img.qb5200.com/download-x/display-name>
 8     <!--配置首页-->
 9     <welcome-file-list>
10         <welcome-file>index.jsp</welcome-file>
11     </welcome-file-list>
12     <!--配置springmvc DispatcherServlet-->
13     <servlet>
14         <servlet-name>springMVC</servlet-name>
15         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
16         <init-param>
17             <!--配置dispatcher.xml作为mvc的配置文件-->
18             <param-name>contextConfigLocation</param-name>
19             <param-value>/WEB-INFhttps://img.qb5200.com/download-x/dispatcher-servlet.xml</param-value>
20         </init-param>
21         <load-on-startup>1</load-on-startup>
22         <async-supported>true</async-supported>
23     </servlet>
24     <servlet-mapping>
25         <servlet-name>springMVC</servlet-name>
26         <url-pattern>/</url-pattern>
27     </servlet-mapping>
28     <!--把applicationContext.xml加入到配置文件中-->
29     <context-param>
30         <param-name>contextConfigLocation</param-name>
31         <param-value>/WEB-INF/applicationContext.xml</param-value>
32     </context-param>
33     <listener>
34         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
35     </listener>
36 </web-app>
View Code

  (6)配置dispatcher-servlet.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xmlns:context="http://www.springframework.org/schema/context"
 5        xmlns:mvc="http://www.springframework.org/schema/mvc"
 6        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
 7     <!--此文件负责整个mvc中的配置-->
 8 
 9     <!--启用spring的一些annotation -->
10     <context:annotation-config/>
11 
12     <!-- 配置注解驱动 可以将request参数与绑定到controller参数上 -->
13     <mvc:annotation-driven/>
14 
15     <!--静态资源映射-->
16     <!--本项目把静态资源放在了webapp的statics目录下,资源映射如下-->
17     <mvc:resources mapping="/css/**" location="/res/css/"/>
18     <mvc:resources mapping="/js/**" location="/res/js/"/>
19     <mvc:resources mapping="/image/**" location="/res/img/"/>
20     <mvc:default-servlet-handler />  <!--这句要加上,要不然可能会访问不到静态资源,具体作用自行百度-->
21 
22     <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀(如果最后一个还是表示文件夹,则最后的斜杠不要漏了) 使用JSP-->
23     <!-- 默认的视图解析器 在上边的解析错误时使用 (默认使用html)- -->
24     <bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
25         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
26         <property name="prefix" value="/WEB-INF/views/"/><!--设置JSP文件的目录位置-->
27         <property name="suffix" value=".jsp"/>
28         <property name="exposeContextBeansAsAttributes" value="true"/>
29     </bean>
30 
31     <!-- 自动扫描装配 -->
32     <context:component-scan base-package="controller"/>
33 
34 </beans>
View Code

  (7)配置applicationContext.xml

1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4        xmlns:context="http://www.springframework.org/schema/context"
5        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
6     
7     <context:component-scan base-package="java"/>
8 
9 </beans>
View Code

  (8)配置jsp页面

      在views文件夹下新建一个jsp页面

1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
2 <html>
3 <head>
4     <title>welcome</title>
5 </head>
6 <body>
7 访问成功
8 </body>
9 </html>
View Code

  (9)创建一个controller层的Java文件

 1 package controller;
 2 import org.springframework.stereotype.Controller;
 3 import org.springframework.web.bind.annotation.RequestMapping;
 4 
 5 @Controller
 6 @RequestMapping("/home")
 7 public class DemoController {
 8 
 9     @RequestMapping("/index")
10     public String getStr(){
11         return "index";
12     }
13 }
View Code

    至此,项目结构搭建完毕。

三、配置tomcat(至关重要)

  (1)点击 Edit Configurations

    

 

 

  (2)配置tomcat

    

 

     在右侧Server选项卡中,“Configure”可以配置服务器的名字,自己随意填写就好,当然同时可以配置端口号、浏览器等信息。

     

 

 

     至此,有些细心的人会发现,上图出现了警告  Warning: No artifacts configured

   (3)ok,我们先解决它,暂且把tomcat放一边。

       <1> 打开项目构建配置页面 

        

 

      <2> 配置如下:

        

 

 

       <3> 点击ok  

        

 

         继续点击ok

        

 

 

      选中 Directory Content ,  选中自己的项目,点击ok   

  (4)接下来,我们在回到配置tomcat的页面,继续(1)操作,选中Deployment选项卡,点击右侧的加号,选中Artifact

      

 

     

    在右侧的 斜杠/  后面加上自己的项目名称,点击apply   点击ok

 

 

    关闭窗口,至此配置结束。

四、运行项目

    点击运行  

    

 

    出现下图,项目搭建成功(这个是springmvc默认访问的index页面)

    

 

    还记得我们之前创建的views下面的index页面吗?

    若想指定访问成功自己的index页面,我们可以在浏览器输入: http://localhost:8080/AdminDemo/home/index

    其中AdminDemo是我的项目名,读者可以根据自己起的名字修改即可,当然后面的home和index是对应的controller路径,读者也可以自行修改。

    ok,至此一个springMVC的项目结构搭建完毕。

 

 

    本文参考(1):https://www.cnblogs.com/wulisz/p/9371977.html

    本文参考(2):http://www.pianshen.com/article/5928200638/

 

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们