IDEA+SpringMVC+Maven环境搭建
2017-08-25 01:35
363 查看
step 1:Create New Project->Next也可以采用File->New->Project
step 2:输入项目GroupId以及ArtifactId,其中GroupId是项目组唯一标示实际对应java的包结构。ArtifactId项目名称唯一标示,对应项目的名称.Version采用默认配置
Step 3:配置maven local环境以及local 仓库,可以给maven添加对应的属性
Step 4:确认项目名称以及项目位置,确认OK,点击Finish
Step 5:项目视图以及IDEA对maven的支持(通过IDEA操作maven)
截止目前项目的基本结构已经OK。现在需要配置pom.xml,添加工程依赖的spring jar
介绍一下常用的maven 仓库
1.https://mvnrepository.com推荐使用
2.https://repository.sonatype.org/index.html#welcome推荐使用
3.http://repo1.maven.org/maven2/
4.http://repository.jboss.com/maven2/
5.http://repository.sonatype.org/content/groups/public/
6.http://mirrors.ibiblio.org/pub/mirrors/maven2/org/acegisecurity/
7.http://central.maven.org/maven2/
由于网速的原因,我们可以使用阿里云镜像(http://maven.aliyun.com/nexus/#welcome)下载依赖资源.
配置方式有以下两种
1.在local maven seeting.xml中添加
<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>2.在pom.xml中添加
<repositories> <repository> <id>aliyunmaven</id> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </repository> </repositories>
Step 6:配置pom.xml.在此处添加最小依赖,后续根据需要添加<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>com.springmvc.demo</groupId>
<artifactId>SpringMVC</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>SpringMVC Maven Webapp</name>
<url>http://maven.apache.org</url>
<!--定义版本信息-->
<properties>
<junit-version>3.8.1</junit-version>
<spring-web-version>4.3.7.RELEASE</spring-web-version>
<spring-webmvc-version>4.3.7.RELEASE</spring-webmvc-version>
<commons-logging-version>1.1.1</commons-logging-version>
<projectName>SpringMVC</projectName>
<servlet-api-version>2.4</servlet-api-version>
<jstl-version>1.2</jstl-version>
<log4j-version>1.2.17</log4j-version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit-version}</version>
<scope>test</scope>
</dependency>
<!--添加 springmvc 依赖的jar-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring-web-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring-webmvc-version}</version>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet-api-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>${jstl-version}</version>
</dependency>
<!--添加Log4j依赖的jar支持-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j-version}</version>
</dependency>
</dependencies>
<build>
<finalName>${projectName}</finalName>
</build>
</project>
Step7:添加Tomcat
Step 8:配置tomcat路径
Step 9:添加为添加tomcat到工程中
step10:添加tomcat支持工程热部署
添加tomcat管理元配置,在tomcat安装目录下的conf/tomcat-users.xml中添加如下信息
<role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <role rolename="admin-gui"/> <role rolename="admin-script"/> <user username="admin" password="admin" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/>
配置说明:
manager-gui:允许访问html接口即URL路径为/manager/html
manager-script:允许访问纯文本接口即URL路径为/manager/text
manager-jmx:允许访问代理接口即URL路径为/manager/jmxproxy
manager-jmx:允许访问Tomcat只读状态页面即URL路径为/manager/status
配置成功后访问http://localhost:8080/manager/html 输入用户名/密码显示如下
Step 11:添加权限是maven能够访问tomcat,修改在maven安装目录下的conf/settings.xml中<servers>添加如下信息
<server> <id>tomcat</id> <username>admin</username><!--tomcat-users.xml中设置的用户名--> <password>admin</password><!--tomcat-users.xml中设置的密码--> </server>在工程的pom.xml文件添加如下信息
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.springmvc.demo</groupId> <artifactId>SpringMVC</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>SpringMVC Maven Webapp</name> <url>http://maven.apache.org</url> <!--定义版本信息--> <properties> <junit-version>3.8.1</junit-version> <spring-web-version>4.3.7.RELEASE</spring-web-version> <spring-webmvc-version>4.3.7.RELEASE</spring-webmvc-version> <commons-logging-version>1.1.1</commons-logging-version> <projectName>SpringMVC</projectName> <servlet-api-version>2.4</servlet-api-version> <jstl-version>1.2</jstl-version> <log4j-version>1.2.17</log4j-version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit-version}</version> <scope>test</scope> </dependency> <!--添加 springmvc 依赖的jar--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring-web-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring-webmvc-version}</version> </dependency> <!-- Servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>${servlet-api-version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>${jstl-version}</version> </dependency> <!--添加Log4j依赖的jar支持--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j-version}</version> </dependency> </dependencies> <build> <finalName>${projectName}</finalName> <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> <plugins> <plugin> <!--该处配置可参考http://tomcat.apache.org--> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <!--tomcat 6 http://localhost:8080/manager/html--> <url>http://localhost:8080/manager/text</url> <server>tomcat</server> <!-- 此处的名字必须和setting.xml中配置的ID一致 --> <path>/${projectName}</path> <!-- 此处的名字是项目发布的工程名 --> <!--<username>tomcat</username>--><!--settings.xml文件已配置,此处可不配--> <!--<password>tomcat</password>--><!--settings.xml文件已配置,此处可不配--> </configuration> </plugin> </plugins> </build> </project>
Step12 :配置web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <!--welcome pages--> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!--配置Servlet监听没有特殊用户可以不用配置--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!--配置springmvc DispatcherServlet--> <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.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>*.do</url-pattern> </servlet-mapping> </web-app>Step13:配置applicationcontext.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:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!--启用spring的一些annotation --> <context:annotation-config/> <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 --> <context:component-scan base-package="com.mark.ssm.controller"> </context:component-scan> <!--HandlerMapping 无需配置,springmvc可以默认启动--> <!--静态资源映射--> <!--本项目把静态资源放在了WEB-INF的statics目录下,资源映射如下--> <mvc:resources mapping="/css/**" location="/statics/css/"/> <mvc:resources mapping="/js/**" location="/statics/js/"/> <mvc:resources mapping="/image/**" location="/statics/image/"/> <!-- 配置注解驱动 可以将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> </beans>Step 14:配置log4j.properties
#log4j.rootLogger=DEBUG,CONSOLE,DATABASE,FILE log4j.rootLogger=DEBUG,CONSOLE,FILE log4j.addivity.org.apache=true log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold=INFO,ERROR、WARN、INFO、DEBUG log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.Encoding=GBK log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n #log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender #log4j.appender.DATABASE.URL=jdbc:oracle:thin:@90.0.12.20:1521:ORCL #log4j.appender.DATABASE.driver=oracle.jdbc.driver.OracleDriver #log4j.appender.DATABASE.user=Nation #log4j.appender.DATABASE.password=1 #log4j.appender.DATABASE.Threshold=INFO,ERROR、WARN、INFO、DEBUG #log4j.appender.DATABASE.sql=INSERT INTO LOG4J(stamp,thread, infolevel,class,messages) VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m') #log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout #log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender log4j.appender.A1.File=/Users/mark_lic/apps/tomcat/apache-tomcat-7.0.77/logs/SpringMVC log4j.appender.A1.Encoding=GBK log4j.appender.A1.Threshold=INFO,ERROR、WARN、INFO、DEBUG log4j.appender.A1.DatePattern='.'yyyy-MM-dd log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=/Users/mark_lic/apps/tomcat/apache-tomcat-7.0.77/logs/SpringMVC/file.log log4j.appender.FILE.Append=false log4j.appender.FILE.Encoding=GBK log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender log4j.appender.ROLLING_FILE.Threshold=INFO,ERROR、WARN、INFO、DEBUG log4j.appender.ROLLING_FILE.File=rolling.log log4j.appender.ROLLING_FILE.Append=true log4j.appender.CONSOLE_FILE.Encoding=GBK log4j.appender.ROLLING_FILE.MaxFileSize=10KB log4j.appender.ROLLING_FILE.MaxBackupIndex=1 log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender log4j.appender.im.host = mail.cybercorlin.net log4j.appender.im.username = username log4j.appender.im.password = password log4j.appender.im.recipient = corlin@cybercorlin.net log4j.appender.im.layout=org.apache.log4j.PatternLayout log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender log4j.appender.SOCKET.RemoteHost=localhost log4j.appender.SOCKET.Port=5001 log4j.appender.SOCKET.LocationInfo=true log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000 log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender log4j.appender.MAIL.Threshold=INFO,ERROR、WARN、INFO、DEBUG log4j.appender.MAIL.BufferSize=10 log4j.appender.MAIL.From=web@www.wuset.com log4j.appender.MAIL.SMTPHost=www.wusetu.com log4j.appender.MAIL.Subject=Log4J Message log4j.appender.MAIL.To=web@www.wusetu.com log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %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%nStep 15:编写controller
package com.mark.ssm.controller; import org.apache.commons.logging.Log; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.apache.commons.logging.LogFactory; @Controller @RequestMapping("/") public class HelloController { private final static Log logger = LogFactory.getLog(HelloController.class); @RequestMapping(value = "hello.do") public String handerIndex(){ logger.debug("Hello SpringMVC"); return "hello"; } }step 16:编写测试页面
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="<%=basePath%>statics/js/jquery-3.2.1.min.js" type="text/javascript"></script> </head> <body> <form action="/hello.do" method="get"> <input type="submit" value="Aaaa"/> </form> </body> </html>hello.jsp
<%-- Created by IntelliJ IDEA. User: mark_lic Date: 2017/8/30 Time: 上午12:07 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> Test OK! </body> </html>
启动tomcat查看输出log发现如下信息
...mvc.method.annotation.RequestMappingHandlerMapping request handler methods found on class com.mark.ssm.controller.HelloController: {public java.lang.String com.mark.ssm.controller.HelloController.handerIndex()={[/hello.do]}}
...mvc.method.annotation.RequestMappingHandlerMapping - Mapped "{[/hello.do]}" onto public java.lang.String com.mark.ssm.controller.HelloController.handerIndex()
在浏览器输入项目地址点击按钮页面跳转,控制台打印如下信息
DEBUG com.mark.ssm.controller.HelloController - Hello SpringMVC
相关文章推荐
- springMVC+maven+mybatis+Intellij IDEA环境搭建
- intellij idea maven springmvc 环境搭建
- 搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(二)
- 利用idea搭建 maven+SpringMVC开发环境
- 使用IDEA搭建Maven+SpringMVC+Spring+Hibernate环境
- Intellij IDEA + Spring MVC + Maven 环境搭建
- springMVC+maven+mybatis+Intellij IDEA环境搭建
- springMVC+maven+mybatis+Intellij IDEA环境搭建
- Idea+Maven+Spring+SpringMVC+MyBatis环境搭建
- 搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(一)
- 使用IDEA搭建Maven+SpringMVC+Spring+Hibernate环境
- maven+springmvc+ibatis环境搭建
- SpringMVC+Spring+MyBatis 的综合练习 2 (搭建Maven环境)
- maven+springmvc+mybatis基本开发环境搭建
- 在IntelliJ IDEA下初始化搭建Maven + SpringMVC开发环境(详细)
- 基于Maven的Spring + Spring MVC + Mybatis的环境搭建
- Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
- Maven搭建springMVC+spring+hibernate环境
- maven环境搭建及创建spring+springmvc+mybatis项目(eclipse)
- 二、maven项目搭建 springmvc+ spring + mybatis(2环境)