1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > IntelliJ IDEA上创建Maven Spring MVC项目

IntelliJ IDEA上创建Maven Spring MVC项目

时间:2021-09-10 13:36:59

相关推荐

IntelliJ IDEA上创建Maven Spring MVC项目

版本

系统:MAC系统

java:8.x

maven:3.x

tomcat:tomcat7-maven-plugin

spring-web:5.0.0

风.fox

JDK 设置

安装JAVA略

设置JAVA环境变量

/fenglailea/article/details/69501375

Maven 设置

MAC maven 安装和配置 /fenglailea/article/details/69500318

Maven 更改国内镜像设置【推荐】/fenglailea/article/details/53304479#t6

IntelliJ IDEA Maven配置 MAC系统 /fenglailea/article/details/78272769

新建 IDEA Maven 项目

打开IDEA,点击Create New Project,在弹出的界面中选择Maven(左侧菜单列表),右侧选择好Project SDK版本,这里的版本是1.8,如果你没有设置那么可以点击New按钮重新设置JAVA JDK目录。

选中Create from archetype,

在下面的列表中选中org.apache.maven.archetypes:maven-archetype-webapp,点击Next按钮 (如图),

在下一页面中输入,

GroupId: 输入组织id,比如,此处不能是中文

ArtifactId:输入项目名称,比如springMvc

Version: 输入版本号,可以直接回车,默认是1.0-SNAPSHOT

点击Next按钮, 本页是设置Maven,已经设置好了,直接Next,

本页设置 项目名称和项目路径,选择你要保存的位置,点击Finish.

建立 文件夹

main下建立javatest文件夹

test文件夹下建立java文件夹

webapp/WEB-INF下建立staticsviews文件夹

statics文件夹下建立css,js,images文件夹

IDEA 项目 目录配置

菜单

File->Project Structure弹出的对画框中,左侧Modules菜单

选中main下的java点击Sources设置

选中test下的java点击Tests设置

最后点击ApplyOK按钮

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 即可。

(引用自/project/intellij-idea-tutorial/eclipse-java-web-project-introduce.html)

建立包的路径

选中main下的java文件夹,右击弹出菜单New->Package,输入

com.foxwho.controller

再次选中java文件夹,右击弹出菜单New->Package,输入

com.foxwho.dao

再次选中java文件夹,右击弹出菜单New->Package,输入

com.foxwho.service

再次选中java文件夹,右击弹出菜单New->Package,输入

com.foxwho.pojo

建立文件

选中webapp/WEB-INF/views,右击弹出菜单New->JSP/JSPX,输入index

然后在<body>后面随便输入几个字符,例如

Maven pom.xml配置

增加 tomcat7-maven-plugin

pom.xml<build>内加入 如下,如果已经有<plugins>了,那么只加入<plugin>部分

<plugins><plugin><!-- 配置tomcat 插件 --><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version></plugin></plugins>

tomcat7-maven-plugin 2.2 版本兼容 JAVA8 ,所以可以直接使用

增加 日志包 slf4j-log4j12

/artifact/org.slf4j/slf4j-log4j12

pom.xml<dependencies>内加入 如下

<!--日志包--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.25</version></dependency>

增加 j2ee相关包

/artifact/javax.servlet/javax.servlet-api

/artifact/javax.servlet.jsp/jsp-api

pom.xml<dependencies>内加入 如下

<!--j2ee相关包 servlet、jsp、jstl--><!--这里没有jetty-maven-plugin这个插件,所以要注释掉 servlet、jsp--><!--<dependency>--><!--<groupId>javax.servlet</groupId>--><!--<artifactId>javax.servlet-api</artifactId>--><!--<version>4.0.0</version>--><!--</dependency>--><!--<dependency>--><!--<groupId>javax.servlet.jsp</groupId>--><!--<artifactId>jsp-api</artifactId>--><!--<version>2.2</version>--><!--</dependency>--><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency>

其他包

pom.xml<dependencies>内加入 如下

<!--mysql驱动包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>6.0.6</version></dependency><!--spring相关包--><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.0.0.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.0.0.RELEASE</version></dependency><!--其他需要的包--><dependency><groupId>mons</groupId><artifactId>commons-lang3</artifactId><version>3.6</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.3</version></dependency>

编译配置

pom.xml<build>内加入 如下,如果已经有<resources>了,那么只加入<resource>部分

<resources><!--表示把java目录下的有关xml文件,properties文件编译/打包的时候放在resource目录下--><resource><directory>${basedir}/src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes></resource><resource><directory>${basedir}/src/main/resources</directory></resource></resources>

pom.xml保存后,idea会自动下载相应的包,如没有自动下载的话,可以点击内容区右侧Maven Projects选项卡中的重载按钮进行项目的重新载入

配置web.xml

maven默认生成的web.xml版本是2.3的,这里要配置成最新的

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_3_1.xsd"version="3.1"><!--welcome pages--><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!--配置springmvc DispatcherServlet--><servlet><servlet-name>springMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><!--Sources标注的文件夹下需要新建一个spring文件夹--><param-name>contextConfigLocation</param-name><param-value>classpath:spring/spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup><async-supported>true</async-supported></servlet><servlet-mapping><servlet-name>springMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

resources目录下建立文件夹spring,并新建立spring-mvc.xml文件,内容如下

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.2.xsd/schema/context/schema/context/spring-context-3.2.xsd/schema/mvc/schema/mvc/spring-mvc.xsd"><!--启用spring的一些annotation --><context:annotation-config/><!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 --><context:component-scan base-package="com.foxwho.controller"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan><!--HandlerMapping 无需配置,springmvc可以默认启动--><!--静态资源映射--><!--本项目把静态资源放在了WEB-INF的statics目录下,资源映射如下--><mvc:resources mapping="/css/**" location="/WEB-INF/statics/css/"/><mvc:resources mapping="/js/**" location="/WEB-INF/statics/js/"/><mvc:resources mapping="/images/**" location="/WEB-INF/statics/images/"/><!--但是项目部署到linux下发现WEB-INF的静态资源会出现无法解析的情况,但是本地tomcat访问正常,因此建议还是直接把静态资源放在webapp的statics下,映射配置如下--><!--<mvc:resources mapping="/css/**" location="/statics/css/"/>--><!--<mvc:resources mapping="/js/**" location="/statics/js/"/>--><!--<mvc:resources mapping="/images/**" location="/statics/images/"/>--><!-- 配置注解驱动 可以将request参数与绑定到controller参数上 --><mvc:annotation-driven/><!-- 对模型视图名称的解析,即在模型视图名称添加前后缀(如果最后一个还是表示文件夹,则最后的斜杠不要漏了) 使用JSP--><!-- 默认的视图解析器 在上边的解析错误时使用 (默认使用html)- --><bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/><property name="prefix" value="/WEB-INF/views/"/><!--设置JSP文件的目录位置--><property name="suffix" value=".jsp"/></bean><!-- springmvc文件上传需要配置的节点--><bean id="multipartResolver" class="org.springframework.monsMultipartResolver"><property name="maxUploadSize" value="20971500"/><property name="defaultEncoding" value="UTF-8"/><property name="resolveLazily" value="true"/></bean></beans>

日志配置

resources目录下,新建立log4j.properties文件,内容如下

#配置根Logger 后面是若干个Appenderlog4j.rootLogger=DEBUG,A1,R#log4j.rootLogger=INFO,A1,R# ConsoleAppender 输出log4j.appender.A1=org.apache.log4j.ConsoleAppenderlog4j.appender.A1.layout=org.apache.log4j.PatternLayoutlog4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n# File 输出 一天一个文件,输出路径可以定制,一般在根路径下log4j.appender.R=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.R.File=log.txtlog4j.appender.R.MaxFileSize=500KBlog4j.appender.R.MaxBackupIndex=10log4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

控制器建立

com.foxwho中选中controrller,右键New->Java Class,输入HomeController,点击OK

IDEA会自动创建一个HomeController类,内容如下

package com.foxwho.controller;public class HomeController {}

public class HomeController上一行输入@Controller注解,在输入过程中会有浮层提示,选则Controller (org.springframework.stereotype)这个,一般默认第一个就是,直接回车,IDEA自动引入该包.

加入路由(RequestMapping),加入日志,设置一个action ,最后该类如下

package com.foxwho.controller;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controller@RequestMapping("/home")public class HomeController {//添加一个日志器private static final Logger logger = LoggerFactory.getLogger(HomeController.class);//映射一个action@RequestMapping("/index")public String index(){//输出日志文件logger.info("the first jsp pages");//返回一个index.jsp这个视图return "index";}}

配置 tomcat7-maven-plugin

菜单

Run->Edit Configurations,

点击左侧+号,选择Maven

按照如下案例配置,路径不需要操作,直接修改Command Line部分为tomcat7:run

ApplyOK按钮

运行项目

点击运行图标或者小虫子图标开始运行项目,最后在[INFO] Running war on位置点击后面的URL地址或者复制URL地址到浏览器内打开

http://localhost:8080/springMvc/http://localhost:8080/springMvc/home/index 这个就是控制器内的你建立的哪个index.jsp文件

目录说明

最好根据 阿里巴巴Java开发手册(终极版) 和 阿里巴巴Java开发规约插件来

/alibaba/p3c

controller:控制器

dao:数据访问

service:相对具体的业务逻辑层

pojo:实体类

webapp/WEB-INF/views:视图

完整源码:/download/wljk506/10029515

参考:/Sinte-Beuve/p/5730553.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。