首语:用SpringMVC和thymeleaf实现一个简单的应用,包括基本环境搭建,SpringMVC4和thymeleaf3的整合,页面参数的获取,页面参数验证,以及用MySQL保存数据。我会把步骤以及过程当中可能会遇到的问题写详细一些,其中的命名规则以及程序结构不一定符合真正的开发标准。内容很简单,仅供参考。

关于spring和thymeleaf这里不做介绍。如果你还不了解,请参照:
1: Spring:www.spring.io
2: thymeleaf:www.thymeleaf.org

我的开发环境:
ubuntu16.04 LTS 64位;
jdk1.8.0_112;
eclipse for Java EE.neon.1a release(4.6.1);
apache-tomcat-9.0.0.M11;
friefox49.0.2;
spring4.3.3;
thymeleaf3.0.2;
mysql5.7.16;

篇一、基本环境搭建,从Hello Monkey!开始

1:新建一个 Dynamic Web project

2: 设置项目属性

3: next->web module属性

4: 点击finish完成,最后生成的项目结构图大概是这个样子

5: 我们看看自动生成的web.xml里面都有什么内容

下一篇我们会对这个文件做修改配置。有同学问,那个welcome file list是怎么回事?本篇末尾解释。

6: 在WebContent目录下新建一个index.html,修改其内容:title修改为zoo,body里面写上Hello Monkey!

7: 项目浏览窗口zoo上鼠标右击,下拉菜单->Run As->Run on Server

如果你还未配置server请参照篇末。

8: 选中红框内容(选中后只要每次启动tomcat就会启动本应用),并一路next

9: 你的eclipse里面是不是出现了Hello Monkey!

10: 当然你也可以打开浏览器输入地址:http://localhost:8080/zoo/

好吧,我承认,以上内容都没涉及到一点点的spring和thymeleaf,但这就是我们最基本的环境,有了基础以后我们就可开始下一篇的springMVC与thymeleaf的整合。

扩展:

1: 如果你还未在eclipse中把tomcat整进来,可参照如下操作:
window->Preferences->Server->Runtime Environments->Add...
根据tomcat版本选择:

一路next:

指定tomcat安装路径,点击finish完成!
如果你的eclipse底部没有Servers窗口,请点击eclipse顶部菜单:Window->Show View->Servers;
在Servers窗口里点击鼠标右键:New->Server,选择你配置好的tomcat即可。

2: 关于welcome file list:
顾名思义,这里配置的是欢迎页面,也就是首页面。web 容器会根据这些规则从web应用的根目录下查找文件名匹配的文件,如果存在就显示此页面,不存在那就直接404啦。
举例:我把规则设定为

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>

如果web应用的根目录(本应用是WebContent目录)下有index.html这个文件,那么在浏览器中访问http://localhost:8080/zoo/和访问http://localhost:8080/zoo/index.html都会显示index.html文件的内容。
如果在浏览器下输入http://localhost:8080/zoo,根目录下有多个欢迎页面会显示哪个呢?比如有index.html和default.html两个,web容器会咋办呢?你猜!
hehe,她会显示index.html,因为在我们的规则中index.html排在default.html前面,也就是说welcome-file-list是有顺序的,web容器会按顺序查找,一旦找到会忽略后面的。

END.

SpringMVC4+thymeleaf3的一个简单实例(篇一:基本环境)的更多相关文章

  1. SpringMVC4+thymeleaf3的一个简单实例(篇五:页面和MySql的数据交互-展示以及存储)

    这一篇将介绍怎样把页面数据保存的MySQL数据库,并将数据库内容展示到页面上.首先做一个基础工作,添加以下jar到lib:1: mysql-connector-Java-5.1.40-bin.jar ...

  2. SpringMVC4+thymeleaf3的一个简单实例(篇三:页面参数获取)

    本篇将通过示例介绍页面参数是如何传递到后台的.我们继续沿用之前搭好的程序结构,如果你不知道,请参照前两篇.为方便跳转页面,我们在首页以及zoolist.html页面都加上彼此地址的链接:首页: zoo ...

  3. SpringMVC4+thymeleaf3的一个简单实例(篇四:form表单数据验证)

    关于表单数据验证有很多中方法,这里我仅介绍JSR303注解验证.JSR303仅仅是一个规范,这里我们要用到它的一个实现:hibernate-validator. 注意在spring的配置文件sprin ...

  4. SpringMVC4+thymeleaf3的一个简单实例(篇二:springMVC与thymeleaf的整合)

    延续前篇内容. 开始之前,我们首先要准备以下12个jar文件:spring-aop-4.3.3.RELEASE.jarspring-beans-4.3.3.RELEASE.jarspring-cont ...

  5. C++ 容器的综合应用的一个简单实例——文本查询程序

    C++ 容器的综合应用的一个简单实例——文本查询程序 [0. 需求] 最近在粗略学习<C++ Primer 4th>的容器内容,关联容器的章节末尾有个很不错的实例.通过实现一个简单的文本查 ...

  6. Ajax实现局部数据交互的一个简单实例

    想要实现的功能:利用Ajax技术通过点击一个<button>按钮,然后在指定的文本框中输出想要的值. 1.使用Jsp创建一个前端页面. <body> <div style ...

  7. MVC的一个简单实例

    基本思路: 一个Regist.jsp注册页面,用于收集用户信息,发送请求给控制器Servlet:控制器层Servlet封装模型层对象 jBean,并调用其方法regiser实现用户信息的保存:模型层J ...

  8. Win32 API 多线程编程——一个简单实例(含消息参数传递)

    Win32 API进行程序设计具有很多优点:应用程序执行代码小,运行效率高,但是他要求程序员编写的代码较多,且需要管理所有系统提供给程序的资源,要求程序员对Windows系统内核有一定的了解,会占用程 ...

  9. 利用 Docker 构建一个简单的 java 开发编译环境

    目前 Java 语言的版本很多,除了常用的 Java 8,有一些遗留项目可能使用了 Java 7,也可能有一些比较新的的项目使用了 Java 10 以上的版本.如果想切换自己本地的 Java 开发环境 ...

随机推荐

  1. eclipse中 com.sun.image.codec.jpeg.JPEGCodec 无法编译通过问题

    在Eclipse中处理图片,需要引入两个包:import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEG ...

  2. Unity5 的新旧延迟渲染Deferred Lighting Rendering Path

    unity5 的render path ,比4的区别就是使用的新的deferred rendering,之前的4的deferred rendering(其实是light prepass)也被保留了下来 ...

  3. Ubuntu 下安装opencv 编译后执行找不到库

    在ubuntu下编译opencv程序后,执行报下面到错误:error while loading shared libraries: libopencv_core.so.2.4: cannot ope ...

  4. 每天一道算法_6_I Think I Need a Houseboat

    今天的题目是I Think I Need a Houseboat 如下: Description Fred Mapper is considering purchasing some land in ...

  5. (一)Eclipse 快捷键

    Ctrl+Alt+Down,即可以在下面快速复制一行 Ctrl+Alt+Up,即可以在上面快速复制一行.   1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了.这组快捷键 ...

  6. Android中关于在onDrow或者onMeasure中创建对象提示Avoid object allocations during draw/layout operations (preallocate and reuse instead) 问题

    在实际开发中Android中自带的控件有时无法满足我们的需求,这时就需要我们重写控件来实现我们想要的功能. 还有个关于UI体验的问题,就是在onDraw()函数中最好不要去创建对象,否则就提示下面的警 ...

  7. Android之TextureView浅析

    近期.在改动Android4.4的原生相机Camera2,非常习惯的去寻找SurfaceView.结果任凭我使用grep还是ack.都无法搜索到SurfaceView,最后还是通过代码CameraAc ...

  8. 韩玉琪 《Linux内核分析》MOOC课程

    http://www.cnblogs.com/hyq20135317/p/5422516.html http://mooc.study.163.com/course/USTC-1000029000

  9. label_设置行距、字距及计算含有行间距的label高度

    // //  ViewController.m //  CNBlogs // //  Created by PXJ on 16/5/27. //  Copyright © 2016年 PXJ. All ...

  10. centos6.5 64位 openvpn安装配置

    1 查看系统版本 2 cat /etc/redhat-release 3 CentOS release 6.5 (Final) 4 5 查看内核和cpu架构 6 uname -rm 7 2.6.32- ...