IntelliJ IDEA maven 构建简单springmvc项目(图文教程)
环境:
- apache-tomcat-8.5.15
- jdk1.8.0_172
- idea
建立一个maven-webapp项目:create new project
后点击next
然后next
可以选择默认自带的maven,还可以修改配置默认的maven的仓库地址使加快下载速度,或者本地安装的apache-maven-3.5.2。
然后next
然后finish.
添加pom依赖
创建好之后的项目目录如图所示
打开pom.xml,添加依赖
<?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>com.xuan</groupid> <artifactid>springmvc</artifactid> <version>1.0-snapshot</version> <packaging>war</packaging> <name>springmvc 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> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.11</version> <scope>test</scope> </dependency> <!--spring--> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-core</artifactid> <version>4.3.5.release</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-web</artifactid> <version>4.3.5.release</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> <version>4.3.5.release</version> </dependency> <!--注解--> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-test</artifactid> <version>4.2.7.release</version> </dependency> <dependency> <groupid>javax.servlet</groupid> <artifactid>servlet-api</artifactid> <version>2.3</version> </dependency> <!-- java.lang.classnotfoundexception: javax.servlet.jsp.jstl.core.config --> <dependency> <groupid>javax.servlet</groupid> <artifactid>jstl</artifactid> <version>1.2</version> </dependency> </dependencies> <build> <finalname>springmvc</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-core/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>
建立相应的目录
项目创建完成后,src-main下建立java目录后,是无法在该目录下创建新的包和java类等文件的。在idea中需要对目录进行标注。
file->project structure:
现在还没有创建对应的目录,然后创建目录后,选择对应的标注:
- sources 一般用于标注类似 src 这种可编译目录。有时候我们不单单项目的 src 目录要可编译,还有其他一些特别的目录也许我们也要作为可编译的目录,就需要对该目录进行此标注。只有 sources 这种可编译目录才可以新建 java 类和包,这一点需要牢记。
- tests 一般用于标注可编译的单元测试目录。在规范的 maven 项目结构中,*目录是 src,maven 的 src 我们是不会设置为 sources 的,而是在其子目录 main 目录下的 java 目录,我们会设置为 sources。而单元测试的目录是 src - test - java,这里的 java 目录我们就会设置为 tests,表示该目录是作为可编译的单元测试目录。一般这个和后面几个我们都是在 maven 项目下进行配置的,但是我这里还是会先说说。从这一点我们也可以看出 intellij idea 对 maven 项目的支持是比较彻底的。resources 一般用于标注资源文件目录。在 maven 项目下,资源目录是单独划分出来的,其目录为:src - main -resources,这里的
- resources 目录我们就会设置为 resources,表示该目录是作为资源目录。资源目录下的文件是会被编译到输出目录下的。
- test resources 一般用于标注单元测试的资源文件目录。在 maven 项目下,单元测试的资源目录是单独划分出来的,其目录为:src - test -resources,这里的 resources 目录我们就会设置为 test resources,表示该目录是作为单元测试的资源目录。资源目录下的文件是会被编译到输出目录下的。
- excluded 一般用于标注排除目录。被排除的目录不会被 intellij idea 创建索引,相当于被 intellij idea 废弃,该目录下的代码文件是不具备代码检查和智能提示等常规代码功能。通过上面的介绍,我们知道对于非 maven 项目我们只要会设置 src 即可。
(引用自http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/eclipse-java-web-project-introduce.html)
标注完后,建立如下的目录。
配置web.xml
如果用maven自动生成的web.xml,可能读取不到springmvc返回传入的参数值,应该要修改web.xml
直接在原来的文件上面修改:
<!doctype web-app public "-//sun microsystems, inc.//dtd web application 2.3//en" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>archetype created web application</display-name> <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
新文件:
<?xml version="1.0" encoding="utf-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>archetype created web application</display-name> <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
注意要替换原来文件web-app的属性
启动时也会默认在/web-inf目录下查找xxx-servlet.xml作为配置文件,xxx就是dispatcherservlet的名字,也可以手动配置路径,现在使用默认的方式,
在web-inf目录下面创建mvc-dispatcher-servlet.xml:
mvc-dispatcher-servlet.xml:
<?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/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 "> <context:component-scan base-package="com.xuan.springmvc.controller"/> <mvc:annotation-driven/> <bean class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="viewclass" value="org.springframework.web.servlet.view.jstlview"/> <property name="prefix" value="/web-inf/views/"/> <property name="suffix" value=".jsp"/> </bean> </beans>
添加views目录: 把index.jsp拖到此目录下面:
编辑代码路径/src/main/java,添加com.xuan.springmvc.controller包,增加maincontroller.java:
package com.xuan.springmvc.controller; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; @controller public class maincontroller { @requestmapping(value = "/index") public string index() { return "index"; } }
配置tomcat服务
configure...配置tomcat路径
绿色+号,把项目加到部署列表
输入服务器名称和选择tomcat版本。
绿色+号,把项目加到部署列表
注意要选择第二项:
最后启动tomcat服务运行调试,显示结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
IntelliJ IDEA maven 构建简单springmvc项目(图文教程)
-
用intellij Idea加载eclipse的maven项目全流程(图文)
-
新版本IntelliJ IDEA 构建maven,并用Maven创建一个web项目(图文教程)
-
Intellij IDEA创建spring-boot项目的图文教程
-
新版本IntelliJ IDEA 构建maven,并用Maven创建一个web项目(图文教程)
-
IntelliJ IDEA像Eclipse一样打开多个项目的图文教程
-
(图文教程)IntelliJ IDEA 导入Eclipse/MyEclipse 项目 配置详解+快捷键分享
-
Intellij IDEA导入JAVA项目并启动(图文教程)
-
最简单的在IntelliJ IDEA导入一个本地项目教程(图文)
-
IntelliJ IDEA基于maven构建的web项目找不到jar包