IDEA+SpringMVC+Maven环境搭建
来源:互联网 发布:电脑连接不到网络 编辑:程序博客网 时间:2024/06/05 08:07
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,FILElog4j.rootLogger=DEBUG,CONSOLE,FILElog4j.addivity.org.apache=truelog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.Threshold=INFO,ERROR、WARN、INFO、DEBUGlog4j.appender.CONSOLE.Target=System.outlog4j.appender.CONSOLE.Encoding=GBKlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.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%nlog4j.appender.A1=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.A1.File=/Users/mark_lic/apps/tomcat/apache-tomcat-7.0.77/logs/SpringMVClog4j.appender.A1.Encoding=GBKlog4j.appender.A1.Threshold=INFO,ERROR、WARN、INFO、DEBUGlog4j.appender.A1.DatePattern='.'yyyy-MM-ddlog4j.appender.A1.layout=org.apache.log4j.PatternLayoutlog4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%nlog4j.appender.FILE=org.apache.log4j.FileAppenderlog4j.appender.FILE.File=/Users/mark_lic/apps/tomcat/apache-tomcat-7.0.77/logs/SpringMVC/file.loglog4j.appender.FILE.Append=falselog4j.appender.FILE.Encoding=GBKlog4j.appender.FILE.layout=org.apache.log4j.PatternLayoutlog4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%nlog4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppenderlog4j.appender.ROLLING_FILE.Threshold=INFO,ERROR、WARN、INFO、DEBUGlog4j.appender.ROLLING_FILE.File=rolling.loglog4j.appender.ROLLING_FILE.Append=truelog4j.appender.CONSOLE_FILE.Encoding=GBKlog4j.appender.ROLLING_FILE.MaxFileSize=10KBlog4j.appender.ROLLING_FILE.MaxBackupIndex=1log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayoutlog4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%nlog4j.appender.im = net.cybercorlin.util.logger.appender.IMAppenderlog4j.appender.im.host = mail.cybercorlin.netlog4j.appender.im.username = usernamelog4j.appender.im.password = passwordlog4j.appender.im.recipient = corlin@cybercorlin.netlog4j.appender.im.layout=org.apache.log4j.PatternLayoutlog4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%nlog4j.appender.SOCKET=org.apache.log4j.RollingFileAppenderlog4j.appender.SOCKET.RemoteHost=localhostlog4j.appender.SOCKET.Port=5001log4j.appender.SOCKET.LocationInfo=truelog4j.appender.SOCKET.layout=org.apache.log4j.PatternLayoutlog4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%nlog4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appenderlog4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000log4j.appender.MAIL=org.apache.log4j.net.SMTPAppenderlog4j.appender.MAIL.Threshold=INFO,ERROR、WARN、INFO、DEBUGlog4j.appender.MAIL.BufferSize=10log4j.appender.MAIL.From=web@www.wuset.comlog4j.appender.MAIL.SMTPHost=www.wusetu.comlog4j.appender.MAIL.Subject=Log4J Messagelog4j.appender.MAIL.To=web@www.wusetu.comlog4j.appender.MAIL.layout=org.apache.log4j.PatternLayoutlog4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %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%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
- IDEA+SpringMVC+Maven环境搭建
- springMVC+maven+mybatis+Intellij IDEA环境搭建
- springMVC+maven+mybatis+Intellij IDEA环境搭建
- springMVC+maven+mybatis+Intellij IDEA环境搭建
- springMVC+maven+mybatis+Intellij IDEA环境搭建
- Idea+Maven+Spring+SpringMVC+MyBatis环境搭建
- 搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(一)
- 搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(二)
- 搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(一)
- 搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(二)
- 使用IDEA搭建Maven+SpringMVC+Spring+Hibernate环境
- IDEA Maven环境搭建
- IDEA 搭建Maven环境
- springmvc+maven环境搭建
- maven搭建springmvc环境
- maven+springMVC环境搭建
- IDEA Maven JFianl环境搭建
- TestNG+Maven+IDEA环境搭建
- sxt8.14——XML
- Gradle一直转圈(下载依赖库&更新)
- 字符指针变量和字符数组的对比
- Mapreduce作业的处理流程
- ZigBee TI ZStack CC2530 3.12 LED驱动移植及使用
- IDEA+SpringMVC+Maven环境搭建
- Python进阶之路—八
- stdint.h 文件
- A Microservice Architecture with Spring Boot and Spring Cloud(二)
- free函数的详解
- Vue学习笔记
- MySQL配置文件mysql.ini参数详解
- python怎么给实例对象添加方法?
- 求一个图中的最大团(全连通分量) n = 40 (中途相遇法)