一.配置Maven环境
1.下载apache-maven文件,选择自己需要的版本,地址: http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.zip
2.解压1所下载文件,本人解压到:D:\server\maven\apache-maven-3.5.0
3.配置Maven环境变量
a. MAVEN_HOME : D:\server\maven\apache-maven-3.5.0
b.PATH : %MAVEN_HOME%\bin;
c. MAVEN_OPTS : -Xms128m -Xmx512m -Duser.language=zh -Dfile.encoding=UTF-8
4.在CMD中输入mvn -v,如出现下列信息,表示配置成功。
其中会显示Java 配置环境以及Maven配置环境
1.在D盘(个人根据自身情况而定)新建文件,如下:
2.配置D:\server\maven\中setting.xml文件,内容如下:
D:/server/maven/repository alimaven central aliyun maven http://maven.aliyun.com/nexus/content/repositories/central/ alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central central Maven Repository Switchboard http://repo1.maven.org/maven2/ central repo2 central Human Readable Name for this Mirror. http://repo2.maven.org/maven2/ ibiblio central Human Readable Name for this Mirror. http://mirrors.ibiblio.org/pub/mirrors/maven2/ jboss-public-repository-group central JBoss Public Repository Group http://repository.jboss.org/nexus/content/groups/public google-maven-central Google Maven Central https://maven-central.storage.googleapis.com central maven.net.cn oneof the central mirrors in china http://maven.net.cn/content/groups/public/ central
注意,如果MAVEN是安装文件,settings.xml在“C:\Users\xxx\.m2\settings”也要重新修改一下,否则cmd下运行mvn使用的仓库没有修改。
Idea 自带了apache maven,默认使用的是内置maven,所以我们可以配置全局setting,来调整一下配置,比如远程仓库地址,本地编译环境变量等。
1.打开Settings,在输入框输入maven,如图
2.如果本地设置了MAVEN_OPTS 系统环境变量,这个步骤可以忽略。
3.如果配置了本地apache-maven setting.xml 中的软件源,这步骤可以忽略。
项目创建完成后,src-main下建立java目录后,是无法在该目录下创建新的包和java类等文件的。在idea中需要对目录进行标注。
- 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)
完整的配置文件如下。
4.0.0
com.example
maven-springmvc
war
1.0-SNAPSHOT
maven-springmvc Maven Webapp
http://maven.apache.org
junit
junit
3.8.1
test
org.slf4j
slf4j-log4j12
1.7.21
javax.servlet
javax.servlet-api
3.1.0
javax.servlet.jsp
jsp-api
2.2
javax.servlet
jstl
1.2
mysql
mysql-connector-java
5.1.35
org.springframework
spring-web
4.3.1.RELEASE
org.springframework
spring-webmvc
4.3.1.RELEASE
org.apache.commons
commons-lang3
3.4
commons-fileupload
commons-fileupload
1.3.1
maven-springmvc
${basedir}/src/main/java
**/*.properties
**/*.xml
${basedir}/src/main/resources
org.eclipse.jetty
jetty-maven-plugin
9.3.10.v20160621
更新完pom.xml文件后,idea应该会自动下载相应的jar包(可能需要),如果没有自动下载的话,可以点击“Reimport All Maven Projects”按钮进行项目的重新载入。如图所示。
jar下载完成后,所有项目所需的依赖就已经添加完成了。
maven默认生成的web.xml版本是2.3的,所以有些配置节点idea会识别不出来,因此我们重新添加一个3.0的。
index.jsp
springMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring/spring-mvc.xml
1
true
springMVC
/
接收到的http请求通过DispatcherServlet进行分发。
日志文件是debug中一个必不可少的工具,因此添加了log4j日志包。配置文件如下。
#配置根Logger 后面是若干个Appender
log4j.rootLogger=DEBUG,A1,R
#log4j.rootLogger=INFO,A1,R
# ConsoleAppender 输出
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
# File 输出 一天一个文件,输出路径可以定制,一般在根路径下
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=log.txt
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
在controller下新建一个“HomeController”。编写如下代码。
package com.zjut.ssm.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author Chingyu Mo
* @create 2016-07-23-20:20
*/
// 注解标注此类为springmvc的controller,url映射为"/home"
@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";
}
}
在views文件夹下建立一个jsp文件,名为“index.jsp”
基本的代码编写就完成了。
servlet容器有两种配置方式。
根据上图配置tomcat服务器,如果用这种方法,本地需要下载tomcat并配置好环境变量。
主要有以下几个要点
maven插件的话有tomcat和jetty,两者都是servlet的容器。我这里配置的是jetty。插件已经在pom.xml中配置完成了。
org.eclipse.jetty
jetty-maven-plugin
9.3.10.v20160621
点击Run,运行。
以上就是一个简单的Spring MVC应用在idea中的创建方式。