IDEA+SpringMVC+Maven环境搭建

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%n
Step 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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值