eclipse下maven插件搭建springmvc之helloworld
这几天学习了怎样使用maven,最终还是要回归web项目嘛,所以主要还是使用eclipse插件。
1 下载eclipse maven插件。
其实新版的eclipse已经集成了maven:lunar、mars,不知为什么我的没有,于是我又下载了一个最新版eclipse mars。在windows->preferences下可以找到maven说明eclipse已经有了maven插件。
当然还可以修改eclipse的maven安装路径,指向本地,这样就可以配置你的maven仓库路径了,在这里为了方便不修改。
2 在eclipse中新建web项目
先回顾一下maven的目录结构。
框出的就是web项目必须的文件。
2.1 新建maven web项目
2.1.1 在项目中new一个项目 叫做maven project
2.1.2 在向导中点下一步就行了 选项中一定要新建一个maven-archetype-webapp
2.1.3 在输入项目名称之后新建完成
2.2 手动修改maven目录结构
2.2.1 新建之后的目录结构是这样子的,可能maven版本不同结构不同,可见这个文件结构不完整,至少少了src-main-java和src-test-java(不清楚为什么工具不把这两个建上去呢)我们加上去。
于是,新建后目录结构终于完整了。
2.2.2 还要修改源文件maven目录的java源文件编译路径,项目邮件在java buildpath 里面设置。eclipse已经自动帮我们加上去了。我感觉只要把源文件目录加进去就行了,不一定要完全按照目录设置,当然编译后要放在target文件夹里面。
2.2.3 设置项目部署路径,因为部署到tomcat的时候都是把源文件资、源文件和项目用到的jar包扔到一个webapp文件里面然后再扔到tomcat的,项目右键属性,然后在deployment assembly里面设置,文件夹就是最后的打包的结构,少加多减,另外test目录是不用加进去的。
准备工作完成。
2.3 构建maven spring mvc项目
完成后项目的目录结构是这样的
2.3.1 maven通过pom.xml添加依赖,就不用手动导入jar包了,十分方便。我们分别在pom.xml中添加java ee的依赖和spring的依赖,添加之后,我们在项目中就看到maven自动为我们下载jar包到项目中。
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.hao</groupId>
<artifactId>mavenweb</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>mavenweb Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- jsp、servlet 的依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency> <!-- spring mvc的依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.1.RELEASE</version>
</dependency>
</dependencies> <build>
<finalName>mavenweb</finalName>
</build>
</project>
2.3.2 导入了spring jar包之后,我们就可以新建一个helloworld项目了。我用比较旧的配置文件方式吧。
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/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>mavenweb</display-name> <servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> </web-app>
springmvc-servlet.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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd"> <context:component-scan base-package="com.hao" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/" />
<property name="suffix" value=".jsp" />
</bean> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<bean name="/hello.do" class="com.hao.Hellomvc"></bean> </beans>
Hellomvc.java
package com.hao; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller; public class Hellomvc implements Controller { public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
// TODO Auto-generated method stub
ModelAndView mv=new ModelAndView("index");
mv.addObject("mvstr", "Hello World!");
return mv;
} }
index.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<h2><c:out value="${mvstr}"> </c:out></h2>
</body>
</html>
代码就是在Hellomvc返回一个“helloworld”到index.jsp里面,应该还算是springmvc的最简单的例子吧。接下来把它放到tomcat里面运行就好了,用eclipse的tomcat插件应该可以,但是我想用maven的tomcat插件。
3 使用maven tomcat插件运行web项目
3.1 编辑tomcat的tomcat-users.xml
maven 的tomcat插件帮助我们打包然后将整个文件扔到tomcat的webapp里面,并通知tomcat重启运行。
maven调用tomcat的方式好像是通过tomcat的manager-script和manager-gui,但我们把几个角色都开起来吧。在本机的tomcat的conf文件夹找到tomcat-users.xml,增加几个权限给maven用。
<tomcat-users>
<!--
NOTE: By default, no user is included in the "manager-gui" role required
to operate the "/manager/html" web application. If you wish to use this app,
you must define such a user - the username and password are arbitrary.
-->
<!--
NOTE: The sample user and role entries below are wrapped in a comment
and thus are ignored when reading this file. Do not forget to remove
<!.. ..> that surrounds them.
--> <role rolename="manager-gui"/>
<role rolename="manager"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
<user username="admin" password="123456" roles="manager,manager-gui,manager-script"/> </tomcat-users>
3.2 在pom.xml增加tomcat插件依赖 (用户名密码要与tomcat-users.xml里面的对应)
......
......
<build>
<finalName>mavenweb</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<path>/mavenweb</path>
<server>tomcat</server>
<username>admin</username>
<password>123456</password>
</configuration>
</plugin>
</plugins>
</build>
......
......
3.3 准备完毕,右键点击pom.xml,再输入maven运行命令就行了。
run as->maven build
tomcat6/7:redeploy
控制台输出成功信息,部署成功
输入:http://localhost:8080/mavenweb/hello.do 出现helloworld!
大功告成!
附上maven tomcat插件命令
新增一条修改maven仓库配置的
11:29:04 2015-09-30
eclipse下maven插件搭建springmvc之helloworld的更多相关文章
- eclipse下maven插件的安装
最近公司项目要求使用maven来进行项目的管理开发,在这里记录一下eclipse下maven插件的安装. maven插件在eclipse下安装害得我挺恼火的. 我想用最简单的那种方式--在线安装: 通 ...
- Eclipse下Maven插件配置
要做一个基于C/S架构的汽车租赁系统,由于在实习期间接触过一些Java和SpringMVC,Spring,Hibernate的东西,所以决定使用这个框架组合来完成这个项目. 首先是Maven的配置,为 ...
- Windows10下安装Maven以及Eclipse安装Maven插件 + 创建Maven项目
在官网下载Maven http://maven.apache.org/download.cgi 下载下来后加压缩,将apache-maven-3.5.4文件夹复制到想要存放它的位置,我放在了 ...
- [Eclipse的Maven项目搭建,仅为测试Maven功能]如何在Eclipse下搭建Maven项目
[Eclipse的Maven项目搭建,仅为测试Maven功能]如何在Eclipse下搭建Maven项目 你可能需要了解以下才能更好的阅读以下: 在 Windows 中配置Maven: http:/ ...
- eclipse集成maven插件
一.准备工作 1. 安装jdk并配置:https://www.cnblogs.com/diandiangui/p/10002100.html 2. 已安装好 maven并配置:https://www. ...
- 安装eclipse的maven插件
我们团队用maven来管理项目需要的库文件,其实以前都没听过maven,第一次接触这个,师兄要我直接去装下这个,开始以为还挺简单的,没想到中间遇到了一些小麻烦,现在把我成功安装maven的过程分享下, ...
- 【Maven】Eclipse安装Maven插件后导致Eclipse启动出错
本文纯属复制粘贴:具体请参照原文: Eclipse安装Maven插件后,Eclipse启动问题:Maven Integration for Eclipse JDK Warning. 解决方法: 1. ...
- eclipse 集成maven插件
本文转载自:http://www.blogjava.net/fancydeepin/archive/2012/07/13/eclipse_maven3_plugin.html 环境准备: eclips ...
- idea/eclipse下Maven工程集成web服务(tomcat、jetty)
idea/eclipse下Maven工程集成web服务 转载请注明出处:http://www.cnblogs.com/funnyzpc/p/8093554.html 应用服务器最常用的一般有这哥仨: ...
随机推荐
- 二分查找(binary search)java实现及时间复杂度
概述 在一个已排序的数组seq中,使用二分查找v,假如这个数组的范围是[low...high],我们要的v就在这个范围里.查找的方法是拿low到high的正中间的值,我们假设是m,来跟v相比,如果m& ...
- MySQL基本语句与经典习题
[SQL语句大全] 本文用到的数据(5张表): customers: orders: orderitems: Products: Vendors: 一.检索数据-select语句select pro ...
- 关于html表单的disabled属性的设置问题
首先,我的看法是无论disable的值是否有值,只要设置了disabled属性的表单,无论是否有值,无论值为什么,都会被禁用. 来看下面例子: 在一个群里有人说因为直接写在表单属性上是字符串,因为 ...
- 【Flask】 使用Flask-Moment进行日期时间的管理
Flask-Moment Flask-Moment又是一个flask的扩展模块,用来处理时间日期等信息.用这个模块主要是考虑到两点,第一是为了让不同时区的用户看到的都是各自时区的实际时间,而不是服务器 ...
- Algorithm --> 求阶乘末尾0的个数
求阶乘末尾0的个数 (1)给定一个整数N,那么N的阶乘N!末尾有多少个0?比如:N=10,N!=3628800,N!的末尾有2个0. (2)求N!的二进制表示中最低位为1的位置. 第一题 考虑哪些数相 ...
- oracle 常用select sql语句
本人认为很实用的几条语句 1)select ... from ...into... 2)insert into ...select ... 3)select ...from ...left join ...
- 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
#include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]) { int a,b,i,j=0,t; ...
- Beta总结
45°炸 031502601 蔡鸿杰 031502604 陈甘霖 031502632 伍晨薇 一.写在Beta项目前 Beta 凡 事 预 则 立 二.GitHub传送门 Beta冲刺重要版本 三.用 ...
- bzoj 2962 序列操作
2962: 序列操作 Time Limit: 50 Sec Memory Limit: 256 MB[Submit][Status][Discuss] Description 有一个长度为n的序列, ...
- 安装Loadrunner 11.0时,弹出缺少2.8 sp1组件--解决方案(win7)
这是因为注册表缺少FullInstallVer和Version,归根到底是madc安装的的问题 以下是解决方法: 1.运行regedit,打开注册表,进入HKEY_LOCAL_MACHINE\SOFT ...