Spring+Maven+Eclipse构建Web工程
转载请注明出处:http://www.cnblogs.com/lidabnu/p/5657439.html
1 环境准备
- 下载Eclipse:http://www.eclipse.org/downloads/packages/release/Neon/R,使用的是Neon,32位Windows版本,下载后解压;
- 下载Maven:http://maven.apache.org/download.cgi,下载的是3.3.9版本,直接解压到某个目录
- Spring不用下载
- 下载Tomcat8.0并解压到某目录,不用安装
- 配置Eclipse中的Maven:
- 配置Eclipse中的Tomcat
2 创建工程
- 新建Maven工程,archetype选择webapp,设置groupId和artifactId。
建完后工程目录如下:
- 可以看到,新建的工程尚有一些东西需要调整,步骤如下:
- 增加对应源码及资源目录,添加/main/java目录的操作及添加完/main/java和/test/java修改后的结果如下:
- 调整JDK版本,这里使用的是JDK1.8,关键在于不要选择JRE:
首先要去Preference菜单调整一下JRE的目录,使之指向JDK目录,如下图
调整工程的Libraries:
3 配置及代码编写
- 配置pom.xml:因为要使用springmvc、jstl等,所以需要加上对它的依赖,值得注意的是,不需要主动增加对springcore等的依赖,因为我们并不直接使用,Maven会自动将springmvc及其所依赖的springcore等jar包下载下来(这个过程会很慢,不过国内的Maven镜像好像有些问题,没搞明白怎么用)
自动下载后,依赖的Maven包包括:
- 修改web.xml:因为maven的webapp的archetype较老,默认使用的是jsp1.2标准,因此会引起jsp页面默认不能使用el表达式等问题,解决办法见http://www.2cto.com/kf/201404/293482.html,这里采用第二种办法,直接在web.xml中使用jsp2.0的头,修改后内容web.xml内容如下:
- web.xml中配置Spring的servlet和servlet-mapping,完整的web.xml如下
<web-app version="2.5"
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_2_5.xsd"> <display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
- 新建并配置spring-servlet.xml内容,因web.xml中未指定路径,因此spring-servlet.xml需放置在/WEB-INF目录,内容如下,
<?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"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd
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" > <!-- 配置支持注解 -->
<mvc:annotation-driven/>
<!-- 配置controller自动扫描包名称,便于spring自动加载controller -->
<context:component-scan base-package="stock.controller"></context:component-scan> <!-- 配置默认的viewResolver,因为要使用jstl,因此配置了viewClass为org.springframework.web.servlet.view.JstlView
另外,配置了view的前缀后后缀,前缀为/WEB-INF/views,所以后续的jsp页面需要放到/WEB-INF/views目录 -->
<bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="contentType" value="text/html"/>
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean> </beans>
- 新建controller,代码如下:使用注解配置其匹配的URL为/或者/index,代码中在model中添加key为“Welcomewords”的字符串对象
package stock.controller; import java.util.Map; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; @Controller
public class HomeController { @RequestMapping({"/","/index"})
public String showHomePage(Map<String,Object> model)
{
model.put("WelcomeWords", "欢迎你,老大");
//System.out.println("showHomepage executed, using stock"); return "index";
}
}
- 修改index.jsp并移动至/WEB-INF/views目录,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"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试主页2</title>
</head> <body>
<h1>${WelcomeWords}</h1>
</body>
</html>
4 测试
右键单击项目,选择Run as的Run On Server,因为未配置过Server,所以出现配置界面:
下一步:stock项目自动在右侧
开始运行,index.jsp页面的${WelcomeWords}被换成了HomeController中设置的“欢迎你,老大”。搞定!
Spring+Maven+Eclipse构建Web工程的更多相关文章
- eclipse+maven+tomcat构建web工程
我们要利用Maven构建一个web应用,开发环境为eclipse+tomcat.构建过程如下: 1.工具准备 eclipse:版本为eclipse 4.2(Juno Service),maven插件的 ...
- IntelliJ IDEA——利用maven插件构建web工程
- eclipse 创建maven 项目 动态web工程完整示例
需求表均同springmvc案例 此处只是使用maven 注意,以下所有需要建立在你的eclipse等已经集成配置好了maven了,说白了就是新建项目的时候已经可以找到maven了 没有的话需要安装m ...
- eclipse 创建maven 项目 动态web工程完整示例 maven 整合springmvc整合mybatis
接上一篇: eclipse 创建maven 项目 动态web工程完整示例 eclipse maven工程自动添加依赖设置 maven工程可以在线搜索依赖的jar包,还是非常方便的 但是有的时候可能还需 ...
- eclipse 创建maven 项目 动态web工程报错
Eclipse 创建maven 项目 动态web工程 注:Eclipse版本为(Version: Mars.1 Release (4.5.1))maven版本为(apache-maven-3.3.9) ...
- Maven启动Java Web工程,8081和8086端口号被占用
Maven启动Java Web工程, <!-- 配置tomcat插件 --> <build> <plugins> <plugin> <groupI ...
- 什么是maven与maven的使用过程(例如在idea创建maven工程(重点讲讲idea创建使用maven管理的web工程,并且部署到tomcat上))
什么是maven与maven的使用过程(例如在idea创建maven工程) (重点讲讲idea创建使用maven管理的web工程项目,并且部署到tomcat服务器上) 一.什么是maven? 1, M ...
- maven创建的Web工程,Eclipse 内 tomcat容器不识别的处理方法
相信很多人都遇到这个问题,简单的说明下处理方式 前提是maven配置都是ok的,这里不多说了 1.创建web工程 mvn archetype:create -DgroupId=com.XXX.YYY ...
- 转:Eclipse中创建Maven版的Web工程(详解)
一.搭建步骤 ♦首先创建一个Maven的Project,如下图: ♦点击Next,勾选 Create a simple project ♦点击Next,注意Packing要选择war,因为我们创建的是 ...
随机推荐
- 使用CPU探查器优化XAML程序
如果您正在开发一个使用 XAML (是否是 c + +. C# 或 VB) 的 Windows 商店应用程序,还有一个好的机会来提高应用程序的性能.为了帮助完成这一点,我们所有在售的能够应用开发 Wi ...
- 取正在运行的DLL或EXE的路径
function GetSelfPath: string;var ModuleName: string; i: Integer;begin SetLength(ModuleName, 255); ...
- 导入excel数据
前提条件:先要安装好EXCEL软件. 程序中经常要用到导入excel数据的功能.其实通过ole操作excel就简单的几行代码,但记性不好,经常要用经常要找, 还是作篇笔记吧. var ExcelApp ...
- 1、IIS常见的的问难及解决方法
配置IIS 7.5 出现的问题及解决办法: 1.问题: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Tempor ...
- 百亿级别数据量,又需要秒级响应的案例,需要什么系统支持呢?下面介绍下大数据实时分析工具Yonghong Z-Suite
Yonghong Z-Suite 除了提供优秀的前端BI工具之外,Yonghong Z-Suite让用户可以选购分布式数据集市来支持实时大数据分析. 对于这种百亿级的大数据案例,Yonghong Z- ...
- 用Regex类计算一个字符串出现次数是最好方法【转载】
我的一个朋友问我,怎么在c#或vb.net中,计算一个字符串中查找另一个字符串中出现的次数,他说在网上打了好多方法,我看了一下,有的是用replace的方法去实现,这种方法不是太好,占资源太大了.其实 ...
- ibm rational software architect download
keep secret: rational software architect download: http://public.dhe.ibm.com/software/rationalsdp/v8 ...
- SQL rank() 用法
WITH vep AS ( SELECT package.OrderCode , RANK() OVER ( PARTITION BY package.OrderCode ORDER BY packa ...
- DelphiTXT文档编辑器
EXE:http://files.cnblogs.com/xe2011/Text_EditorRelease2013-12-20-185320.rar Delphi XE5 PAS:http://fi ...
- Nginx重要结构request_t解析之http请求的获取
请在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 本文主要参考为<深入理解nginx模块开发与架构解析>一书,处理用户请求部分,是一篇包含作者理解的读书笔记.欢迎指正,讨论. ...