创建一个可用的简单的SpringMVC项目,图文并茂
转载请带上链接:http://www.cnblogs.com/silentdoer/articles/7134332.html。
最近在自学SpringMVC,百度了很多资料都是比较老的,而且里面很多都不能用,后来自己多方对比后终于弄出来了一个,在这里记录以及跟同是新手的你分享下。
首先说下我用的各种环境:
Windows10系统
SpringMVC用的是目前最新的4.3.4版本;
tomcat用的是8.0.45版本(大家可以下8.5的或更高版本的,我的是压缩包而非安装程序,个人觉得用压缩包更方便);
JDK和JRE用的是1.8的;
IDE用的是Eclipse neon.2;
好了,搭建环境就自己弄下吧(比如安装JDK[和配置PATH之类的]和安装Eclipse[注意JDK如果是64位的Eclipse也必须是64位的]和下载tomcat和下载SpringMVC的jar包及设置Eclipse的工作区间),
接下来我会通过图片和文字的方式详细的给出创建一个简单的SpringMVC项目的步骤。
1、打开Eclipse,点击左上角File-New-Dynamic Web Project,如图:

2、弹出窗口:

Project name可以改成自己的项目名,图中用蓝笔画了的大家注意检查一下是不是一样(Tomcat可以是你们自己的版本,但是最好比8.0要高,而其它的就先按图中的来吧);
接下来点击Next,弹出窗口:

然后将上图中的build\classes改成WebRoot\WEB-INF\classes,注意这里不改也行,但是为了和MyEclipse项目结构一致最好还是改下(而且个人觉得MyEclipse创建的Dynamic Web Project的项目结构更合理和易理解);
点击Next弹出窗口:

注意,如果上一步改成了WebRoot\WEB-INF\classes则这一步就最最好将Content directory改成WebRoot(原先是WebContent),然后将蓝色圈中的勾打上,点击Finish。
2、进行完上面的步骤后得到项目结构如下图:

对着Java Resources下的src点击右键New-Package,弹出框如图:

写好Name后点击Finish。
然后对WEB-INF右键New-Folder,弹出如图:

点击Finish,(可忽略 ---> 注意,一般除主页以外的动态页面都是要放在WEB-INF文件夹内的(一般是WEB-INF的子文件夹里,用于分类,如我这里就是在子文件夹jsp中)。
此时项目的结构是:

3、将项目所需的SpringMVC包添加到项目中,步骤是先复制所有SpringMVC4.3.4版本的jar,然后对WEB-INF文件夹下的lib文件夹右键-粘贴(或Ctrl+v)即可(添加jar包到项目里据说有三种方法,我这里用最简单的方法添加),如图:

其实这个项目是不需要加入这么多jar包的,但是我懒得去测试哪些要哪些不要就都复制进去了(测试的方法可以是边删边运行,直到删到不能删为止)。
4、接下来对silentdoer.web.controller右键,New-Class新建一个类名为HelloWorldController,如图:

点击Finish后改写HelloWorldController.java的代码为:
package silentdoer.web.controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.ui.Model; // 这里我写的注释要结合springmvc.xml里面的配置和index.jsp里面的内容一起看才容易理解
@Controller
public class HelloWorldController { // RequestMapping中的hello是要客户端请求时所映射的字符串(个人的理解,暂时找不到更好的说法),而helloWorld函数则是处理该映射
@RequestMapping("/hello")
public String helloWorld(Model model) { // 通过Model对象可以将数据返回给动态页面/前端页面(由服务器处理)
String viewArgValue = "Hello World, SpringMVC";
model.addAttribute("message", viewArgValue); // 这里的message就是动态页面中的参数名,即hello.jsp页面中${message}中的message,viewArgValue是参数值
// 返回WEB-INF/jsp/hello.jsp文件给客户端(是经过服务端处理的),因为我们springmvc.xml里配置了prefix和suffix故这里前缀+逻辑视图名+后缀就得到了要返回文件的完整路径
// 这里顺便说一下WEB-INF下的资源是客户端无法直接访问到的
return "/hello";
}
}
接下来配置web.xml文件,将其更改为:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>FirstSpringMVCProj</display-name> <servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- 设置SpringMVC配置文件的位置,注意该位置默认是src文件夹下 -->
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!-- 据说是拦截所有静态文件的请求,如.js;.css文件等 -->
<url-pattern>/</url-pattern>
</servlet-mapping> <!-- 设置默认页面,注意这个页面是直接在WebRoot文件夹下的,如果是在WebRoot下的view文件夹下就要配置成view\index.jsp,但是默认页面不要放在WEB-INF内 -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list> </web-app>
接下来在src下新建springmvc.xml文件,右键src文件夹New-Other,输入XML找到XML类型文件,如图:

点击Next,将名字改为springmvc.xml后点击Finish。
将springmvc.xml里面的配置改为:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 注意上面的也可以写成spring-context-4.3.xsd,如果不写则默认是用当前的版本 --> <!-- 注意这里的base-package的值就是HelloWorldController.java所在的包名 -->
<context:component-scan base-package="silentdoer.web.controller" /> <!-- 注意prefix前后的/不要漏了,WebRoot类似是根目录 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean> </beans>
接下来在jsp文件夹下新建一个JSP File,改名为hello.jsp(由于比较简单就不截图了),然后该文件中的代码为:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>Insert title here</title>
</head>
<body>
<p>This is my message: ${message}</p>
</body>
</html>
然后对着WebRoot文件夹新建index.jsp文件,里面的代码为:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>Insert title here</title>
</head>
<body>
<a href="hello.html">Hello World</a>
</body>
</html>
现在的项目结构如下:

至此项目已经写好了,还需要配置Tomcat(记得将tomcat解压缩到软件盘符里,我的是R盘名为:apache-tomcat-8.0.45[文件夹])
点击Eclipse内上方的Window-preferences,然后点击Server-Runtime Environments,如图:

点击Add,选中Apache Tomcat v8.0(如果你的是别的版本就选你们对应的),点击Next,弹出如图:

Browse...找到自己Tomcat存放的位置(我的Tomcat位置如上图,这里推荐下载Zip包的Tomcat即可然后解压到相应位置中)将蓝框中改为自己相应的JDK,点击Finish。
Preferences中变为如图:

点击OK。
接下来就可以运行了,对项目右键Run As-Run on Server,弹出如图:

直接点击Finish即可,过一会儿(项目运行也是要时间的嘛)Eclipse代码区域会弹出页面如图:

点击Hello World即可完成跳转。
如果想在浏览器里看按照上图输入地址即可。
如果想停止运行点击下方的Tomcat然后点击右边的红框即可,如图:

至此已全部完毕。
创建一个可用的简单的SpringMVC项目,图文并茂的更多相关文章
- 零配置简单搭建SpringMVC 项目
SpringMVC是比较常用的JavaWeb框架,非常轻便强悍,能简化Web开发,大大提高开发效率,在各种Web程序中广泛应用.本文采用Java Config的方式搭建SpringMVC项目,并对Sp ...
- Eclipse+maven 构建第一个简单的springmvc项目
先给出项目的目录: 在eclipse下使用maven构建第一个springmvc项目步骤如下: 1.创建maven project(此处默认你已了解maven),此处需要注意以下两点 2.创建完毕后会 ...
- 记录心得-IntelliJ iDea 创建一个maven管理的的javaweb项目
熟能生巧,还是记录一下吧~ 开始! 第一步:File--New--Project--Maven--Create from archetype--maven-archetype-webapp 第二步:解 ...
- nodejs创建一个HTTP服务器 简单入门级
const http = require('http');//请求http.createServer(function(request, response){ /*createServer该函数 ...
- maven(二):创建一个可用的maven项目,完整过程
环境:eclipse4.5 (内置maven插件) 创建maven项目 文件菜单--新建--其他-- maven project 下一步 选择web 结构 group id: 指项目在maven本地 ...
- 创建简单的spring-mvc项目
1.第一步:创建项目 new—>Dynamic Web Project 项目创建成功后,展示如图: 2.第二步:导入springmvc的jar包和common-logging.jar 3.第三步 ...
- 创建一个netcore2.0和angular的项目并运行起来
netcore2.0发布了,喜大普奔. 我们先下载SDK,请看张善友老师的这篇博客 http://www.cnblogs.com/shanyou/p/7363037.html 下载完之后 我用的vs2 ...
- IDEA创建一个Spring MVC 框架Java Web项目,Gradle构建
注:此篇有些细节没写出,此文主要写重要的环节和需要注意的地方,轻喷 新建项目 选择Gradle , 勾选java 和 web.之后就是设定项目路径和名称,这里就不啰嗦了. build.gradle文件 ...
- 一个简单的springmvc例子 入门(1)
一直是从事棋牌游戏,平常用的东西 大多数只是使用一些javase的一些 api对spring 这方面 用到的比较少,每次学了都忘,始终记不住.为了 更轻松学习springboot,从新学习了sprin ...
随机推荐
- 去除HTML选择——兼容IE、FireFox(document.onselectstart,样式)
引之:http://taoistwar.iteye.com/blog/278963 今天做一个拖动效果,在网上找了个模板,作发后发现一拖动就会选择其它页面部分,需要去除这个效果, 找了个模板看了下发现 ...
- 1455:An Easy Problem
传送门:http://noi.openjudge.cn/ch0406/1455/ /-24作业 //#include "stdafx.h" #include<bits/std ...
- eclipse环境下基于已构建struts2项目整合spring+hibernate
本文是基于已构建的struts2项目基础上整合 spring+hibernate,若读者还不熟悉struts2项目,请先阅读 eclipse环境下基于tomcat-7.0.82构建struts2项目 ...
- 【原创】抓个Firefox的小辫子,围观群众有:Chrome、Edge、IE8-11
前言 很多人都知道我们在做FineUI控件库,在这 9 年多的时间里,在和浏览器无数次的交往中,也发现了多个浏览器自身的BUG,并公开出来方便大家查阅: 分享IE7一个神奇的BUG(不是封闭标签的问题 ...
- CentOS环境下Docker私有仓库搭建
本文讲述如何搭建docker私有仓库. 有了docker hub,为什么还要搭建docker私有仓库? 1.性能考虑:docker hub的访问要通过互联网,性能太低. 2.安全性:更多的时候,镜像不 ...
- 上班打卡--- 通过批处理命令执行jar文件来记录上班时间
如果 一个程序员要记录自己上班工作时间的话 ,还需要靠手动去记录, 那就有点 不够范了, 程序员自然要有自己的极客范儿 , 下面就跟我一起来(zhuangbi); 先列一下整体的步骤: 1: 先做一个 ...
- Java设计模式之单例模式详解
在Java开发过程中,很多场景下都会碰到或要用到单例模式,在设计模式里也是经常作为指导学习的热门模式之一,相信每位开发同事都用到过.我们总是沿着前辈的足迹去做设定好的思路,往往没去探究为何这么做,所以 ...
- OBS源码解析(3)OBSApp类介绍
OBSApp类有以下功能: 1.负责配置文件管理 2.版本信息管理 3.主界面OBSBasic对象管理 4.obs模块初始化 class OBSApp : public QApplication { ...
- 42.Linux应用调试-初步制作系统调用(用户态->内核态)
1首先来讲讲应用程序如何实现系统调用(用户态->内核态)? 我们以应用程序的write()函数为例: 1)首先用户态的write()函数会进入glibc库,里面会将write()转换为swi(S ...
- jdk7jdk8新特性概述
在oracle停止对jdk6更新,jdk8发布之后,公司终于要把生产环境更新到jdk7,下面列一下jdk7,8的可能需要关注的新特性. jdk7 G1垃圾回收 fork-join框架 二进制变量 Sw ...