Eclipse+tomcat+maven 配置Spring mvc图文教程

原创 2016年06月01日 15:51:19

一、基础环境(eclipse+tomcat+jdk+maven

1.安装jdk:

下载并安装jdk,(过程比较简单就略过了)。

配置环境变量:按照java 默认安装路径需要配置为:

JAVA_HOME: C:\Program Files\Java\jdk1.6.0_07 (注意JAVA_HOME 路径后面不能有分号。)

path:%JAVA_HOME%\bin;

classpath: %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

在控制台下输入javac 有结果就表示安装成功了。

2.安装eclipse:

此次采用的是eclipse 4.2,代号Juno。(免安装版,其他版本慎用,测试过helios版本的,照着这个文档配置会有错误)。

只要解压到指定目录即可。

3.安装tomcat

先安装插件:下载地址:http://www.eclipsetotale.com/tomcatPlugin.html#A3。我用的是tomcatPluginV33.zip。直接把插件解压放到eclipse 安装目录-plugins 目录下。

再把tomcat文件放到c 盘根目录(自选)。

4.关联

eclipse 关联jdktomcat:

preferences-java-installed jres add- jre home 中选择jdk 安装目录。(特别注意:不是jre 文件,是jdk. 如果原来是jre 要换成jdk,如下图)

eclipsepreferences-server-runtimeenvironmen ,add-选择与之相关版本的tomcat(这里选择7.0)browse-选择tomcat 根目录,jre 选择安装过的jre

再在tomcat选项选择你安装的tomcat版本,选择tomcat根目录,ok。浏览器中输入:http://localhost:8080/。就可以检查是否成功安装了tomcat

5.安装maven:

先安装插件:在eclipsemarcketplace输入maven查找,选择maven integration foreclipse,按照向导安装,重启eclipse。在你的新建项目以及prefrences 就有maven这一项了。

再把maven 文件解压到c 盘根目录(自选)。(maven 文件请自行到网站下载,链接:http://www.apache.org/dyn/closer.cgi/maven/maven-3/3.0.4/binaries/apachemaven-3.0.4-bin.zip

最后关联操作:在preferencesmaven -user settings 中选择maven文件目录目录—conf 文件-- settings.xmlok.

二:使用并配置环境

1.新建maven项目:

File-new-other-maven-maven project---直接下一步--filte 中输入webapp(这里代表建立web 项目):选择第二个,如图:

下一步后。如下图:

Group ID 一般写大项目名称。Artifact ID 是子项目名称。(我这里分别写IFLYTEKsms,点击finishMaven web 项目就建好了。

创建好的maven 项目:

2.构建Maven常规目录结构。

Maven 管理的项目中,文件目录一般都很固定,我们下面就建立一般的webmaven

目目录结构。构建并运行一个hello 的示例demo

1)建立source folder 文件夹:

Workspace-项目名-src-main 下新建一个文件夹:java。同样的在上级目录src 目录中新建test 文件夹,在test 下新建文件夹:java。在eclipse右击刷新,目录就出来了。(如果直接新建source folder 会出现问题)。

(2)新建spring 配置文件:(mvc-dispatcher-servlet.xml)

在项目树中找到src-main-webapp-WEB-INF,在这个目录中新建一个文件夹命名为:

pages,用于以后存放jsp 文件(这样会让项目看起来更清晰一点)。同时在WEB-INF

录中新建文件,命名为:mvc-dispatcher-servlet.xml

编辑mvc-dispatcher-servlet.xml文件:

<beans xmlns ="http://www.springframework.org/schema/beans"

xmlns:context ="http://www.springframework.org/schema/context"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

<context:component-scanbase-package="com"/>

<mvc:annotation-driven/>

<bean

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix">

<value>/WEB-INF/pages/</value>

</property>

<property name="suffix">

<value>.jsp</value>

</property>

</bean>

</beans>

其中<context:component-scanbase-package="com"/>代表编译时读取的包(在classpath下新建的包,在文档下几页中我是新建com.sms.controller所以写这个,扫描com目录下的所有文件)<mvc:annotation-driven/>代表注释驱动,<value>/WEB-INF/pages/</value>代表前端控制器寻找jsp 的路径。

(3)编辑web.xml:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:javaee="http://java.sun.com/xml/ns/javaee"

xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/webapp_

2_4.xsd" id="WebApp_ID" version="2.4">

<display-name>Spring Web MVC Application</display-name>

<servlet>

<servlet-name>mvc-dispatcher</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>mvc-dispatcher</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>

</context-param>

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

</web-app>

其中重要的配置是<context-param>中的<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>,它指明了spring 配置文件的目录。(当然也可以用classpath:xxx的方式进行配置, 多个配置文件也可以用“,”隔开)

<servlet-mapping>中的<url-pattern>/</url-pattern>,它代表前端拦截器将拦截所有文件。

这里要特别注意的是<servlet-name>mvc-dispatcher,因为要对应<param-value>/WEB-INF/mvc-dispatcher-servlet.xml。比如,如果<servlet-name>mydispatcher,那么对应的<param-value>必须为mydispatcher- servlet.xml

(4)修改pom.xml(注意是:修改):

在原有pox.xml的基础上,把<dependencies></dependencies>之间的修改为:

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-web</artifactId>

<version>3.1.2.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

<version>3.1.2.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-webmvc</artifactId>

<version>3.1.2.RELEASE</version>

</dependency>

再在<finalName>的下一行添加tomcat插件:即,添加如下:

<plugins>

        <plugin>

                <groupId>org.codehaus.mojo</groupId>

                <artifactId>tomcat-maven-plugin</artifactId>

                <version>1.1</version>

        </plugin> 

</plugins>

修改之后我的就变成了以下这样:

<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/mavenv4_

0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>IFLYTEK</groupId>

<artifactId>sms</artifactId>

<packaging>war</packaging>

<version>0.0.1-SNAPSHOT</version>

<name>sms Maven Webapp</name>

<url>http://maven.apache.org</ url>

<dependencies>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-web</artifactId>

<version>3.1.2.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

<version>3.1.2.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-webmvc</artifactId>

<version>3.1.2.RELEASE</version>

</dependency>

</dependencies>

<build>

        <finalName>sms</finalName>

            <plugins>

                <plugin>

                    <groupId>org.codehaus.mojo</groupId>

                    <artifactId>tomcat-maven-plugin</artifactId>

                    <version>1.1</version>

                </plugin> 

            </plugins>

</build>

</project>

maven 通过pom.xml 管理项目依赖的jar 包,通过groupIDartifactId 以及版本号可以唯一确定一个jar 包。这样可以防止老式Web 项目中WEB-INF/lib jar 包不一致的问题。

并且maven 还会自动下载添加进的jar 包所依赖的jar 包。

至此,项目文件结构如图:

(5)Controller 类:

在src/main/java 下新建包:com.sms.controller,在这个包中新建controller

类:HelloController。编辑如下

packagecom.sms.controller;

import org.springframework.stereotype.Controller;

import org.springframework.ui.ModelMap;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

public classHelloController{

@RequestMapping("/hello.do")

public Stringindex_jsp(ModelMap model){

System.out.println("hello");

model.addAttribute("yan", "yan你好");

return "hello";

}

}

(6)在pages 目录下新建文件hello.jsp,编辑如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>

<%

String path = request.getContextPath();

String basePath =

request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>My JSP 'Login.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel=" stylesheet"type="text/css" href="styles.css">

-->

</head>

<body>

${yan}</br>

</body>

</html>

run as- maven build双击新建一个maven build—在Goals 中输入package tomcat:redeploy(关键)(如下图):

 

 

右击工程,Run as—maven clean

Run as—maven install,就会去自动下载包了。(如果下载失败,就去清理用户目录-用户-.m2- repository下的包。)

这时可能会报“Please ensure you are using JDK 1.4 or above and nota JRE (the com.sun.tools.javac.Main class is required)”的错误,这是因为环境只是设置jre而没设置成jdk的缘故。在window—preferences—java—installedjres—选择自己jdk目录,即编辑成jdk:如下图:

再maveninstall一下,下载包,就下载成功了。

点击菜单栏上的绿色大按钮run或者点击小虫子(debug,再稍等片刻,等待包的下载。

运行后,你会发现有错误:Cannot invoke Tomcat manager: Server returnedHTTP response code: 403 forURL: http://localhost:8080/manager/deploy?。这是因为没有权限的问题。没事。

解决方案(两步):

1:选择插件tomcat-maven-plugin,即:在pom.xml 中,添加配置权限代码。

在<artifactId>tomcat-maven-plugin</artifactId>下添加:

<configuration>

<url>http://localhost:8080/manager/html</url>

<username>admin</username>

<password>123456</password>

<path>/sms</path>

</configuration>

(这里path,所以打包后,会生成sms包到tomcat的webapp,了解就好)

2:修改tomcat 配置文件。

tomcat 主文件目录下的conf-tomcat-users.xml文件添加。(这里是:C:\apache tomcat-7.0.29\conf\conf-tomcat-users.xml)

在文件中的<tomcat-users>下添加:

<role rolename="manager-gui"/>

<user username="admin" password="123456"roles="manager-gui" />关掉tomcat,重启tomcat,再试试。点击菜单栏上的绿色大按钮run或者点击小虫子(debug),Ok。

到现在为止,文件的目录结构如图所示:

成功build 之后,在浏览器输入:http://localhost:8080/sms/hello.do

前面的http://localhost:8080/是固定的,sms代表打包的报名,在pom.xml中的<path>设置的,我是sms,所以输入sms,只要对应就可以。最后的hello.do,是控制器接受匹配的。运行后,就出现了我们的结果:

我可以用了,你也可以吧。

最后可能用的时候出错的,在运行前必须先启动tomcat


Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Maven+Spring+MVC结构中,jetty/tomcat是如何启动项目的

针对maven配置的Spring+MVC项目,我们用Maven自带的jetty和tomcat插件进行调试,这很方便。但是调试时,这些插件所启动的web服务器,是如何来将我们的工程作为一个web项目启动...
  • achuo
  • achuo
  • 2016年01月29日 15:48
  • 1111

手把手教你在Eclipse上创建一个Maven+Spring MVC的HelloWord项目

使用了框架进行开发以后,我们用到的jar包会越来越多,每次都手动下载然后拷贝进项目的话,这样会比较麻烦,而且有时候不能很好地处理jar包传递依赖的问题。庆幸的是,Maven出现了,它可以极大地方便了我...

在Eclipse下使用Maven创建SpringMVC样例项目

1,新建maven项目,项目名起为:MavenSpringMVC。 具体步骤参见我的上一篇博客:在eclipse下使用Maven创建Struts2项目样例 2,配置pom.xml文件,引入依赖包(...

Eclipse maven构建springmvc项目

一.背景介绍   对于初学者,用maven构建项目并不是一件容易的事,springmvc并不是MVC中的主流,但是本人觉得springmvc比struts要好用,真正做到了零配置。一次使用,就放不下了...

Eclipse下使用Maven搭建SpringMVC项目

一、工具: JDK1.7 Eclipse4.4.2 Apache Maven 3.3.9 Maven官方下载地址  二、环境配置         1、JDK配置:参见我的博文--JDK...

maven+tomcat插件自动化部署SpringMVC项目(返回JSON)

maven+tomcat插件自动化部署SpringMVC项目(返回JSON)

eclipse配置maven搭建spring环境

eclipse,maven,spring环境搭建
  • nengyu
  • nengyu
  • 2016年07月10日 23:39
  • 15614

搭建最简单的SpringMVC框架(使用maven)

本文说明:本文介绍使用maven搭建SpringMVC最简单的框架程序过程,适合初学者上手。 1.创建一个maven webapp工程。 2.修改WEB-INF目录下的web.xml文件: 内容如下,...
  • aitcax
  • aitcax
  • 2014年11月27日 11:33
  • 68502
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Eclipse+tomcat+maven 配置Spring mvc图文教程
举报原因:
原因补充:

(最多只允许输入30个字)