idea搭建springmvc(maven版)
北城墨白 人气:0一、创建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>
(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>
(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>
(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>
(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 }
至此,项目结构搭建完毕。
三、配置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/
加载全部内容