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


版权声明:

相关文章推荐

Eclipse使用Maven搭建Java Web项目并直接部署Tomcat8(全实战)

准备 环境 安装 整合Eclipse Maven 创建并配置Maven 项目 创建项目 配置 配置Project Facets 配置webxml 配置pomxml 部署 tomcat配置 Maven配...

MyEclipse 2016 Stable 1.0破解教程

一、下载所需文件 1. Windows最新版: MyEclipse 2016 Stable 1.0离线安装包(文件大小:1.52GB)--完整安装包,无需在线下载 http://pan....

Eclipse+Tomcat+springMVC环境搭建与jsp页面学习笔记

Eclipse+Tomcat+springMVC环境搭建与jsp页面学习 这是一个简单的实例演示eclip spring开发环境的搭建过程

Maven 集成Tomcat7插件

Maven已经是Java的项目管理标配,如何在JavaEE开发使用Maven调用Web应用,是很多同学关心的问题。本文将介绍,Maven如何介绍Tomcat插件。 Maven Tomcat插件现在主...

Maven Tomcat7自动部署

摘要:本文主要讲了Maven中使用Tomcat7进行自动部署 启动tomcat7,然后访问 http://localhost:8080/manager/html,输入admin/passw...

EclipseMars + Maven + SpringMVC + Tomcat7

IDE: Eclipse Mars windows 32bit Maven3.0.5 Spring3.2.2 Tomcat7.0 MySQL5.1以下会多截图,主要记录如何搭建环境。 新创建一...

Intellij IDEA搭建maven+注解SpringMVC框架

本文主要介绍了简单搭建SpringMVC的框架,并未涉及一些原理的讲解,以后会进行补全,不足地方希望大家在评论区指出,一起学习
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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