# TmodWithSpringMVC
**Repository Path**: staring/TmodWithSpringMVC-
## Basic Information
- **Project Name**: TmodWithSpringMVC
- **Description**: 1.供初学者学习TmodJs案例
2.结合SpringMVC学习
3.后期采用myBaits
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2016-07-13
- **Last Updated**: 2020-12-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#学习TmodJs结合SpringMVC
------------------------------
##一、了解TmodJs基础语法
* TmodJS 默认采用 simple 语法,它非常易于读写。
###表达式
* {{ 与 }} 符号包裹起来的语句则为模板的逻辑表达式。
* 输出表达式: {{content}} 不编码输出:{{#content}}
* 模板包含表达式
* {{include 'template_name'}} 用于嵌入子模板
* 子模板共享当前数据 {{include 'template_name' news_list}}
###遍历表达式
无论数组或者对象都可以用 each 进行遍历,此处使用li标签,但由于markdownpad版本问题未显示。
{{each list}}
{{$index}} - {{$value.user}}
{{/each}}
###include 路径规范约定
1. 路径不能带后缀名
2. 路径不能够进行字符串运算
3. 路径不能使用变量代替
4. 必须使用以.开头的相对路径
##二、实际操作
* 1.打开Eclipse,新建一个Maven项目。
* 2.做好规划,细分模块.如图1所示

* 3.开始编辑对应的模块
* 4.index.html作为索引页面,可看源码。
* 5.运用tmod对模板页面进行编译,方法如下:
* a. 打开dos运行界面,并确保安装tmodjs插件.
* b. 通过dos界面,进入到项目文件夹里,进行编译。编译方法:tmod 路径
* 6.将编译好的项目发布到Tomcat上,若加载正常则可看到页面。
##三、SpringMVC学习及Demo实现
###Springmvc框架原理

《跟开涛学SpringMVC》里面有张图挺好的,感觉很详细.

步骤:
1.发起请求到前端控制器(DispatcherServlet)
2.前端控制器请求处理器映射器(HandlerMapping)查找Handler(可根据xml配置、注解进行查找)
3.处理器映射器(HandlerMapping)向前端控制器返回Handler
4.前端控制器调用处理器适配器(HandlerAdapter)执行Handler
5.处理器适配器(HandlerAdapter)去执行Handler
6.Handler执行完,给适配器返回ModelAndView(Springmvc框架的一个底层对象)
7.处理器适配器(HandlerAdapter)向前端控制器返回ModelAndView
8.前端控制器(DispatcherServlet)请求视图解析器(ViewResolver)进行视图解析,根据逻辑视图名解析成真正的视图(jsp)
9.视图解析器(ViewResolver)向前端控制器(DispatcherServlet)返回View
10.前端控制器进行视图渲染,即将模型数据(在ModelAndView对象中)填充到request域
11.前端控制器向用户响应结果
###Springmvc程序小试牛刀
------------------------
###一、准备开发环境和运行环境:
* 开发工具:eclipse
* 运行环境:tomcat7
* 工程:创建maven动态web工程
* spring框架下载:
* spring-framework-4.2.4.RELEASE-with-docs.zip
* 依赖jar包:
* 1、 Spring框架jar包:
为了简单,将spring-framework-34.2.4.RELEASE-with-docs.zip/dist/下的所有jar包拷贝到项目的WEB-INF/lib目录下;
* 2、 Spring框架依赖的jar包:
* 需要添加Apache commons logging日志,此处使用的是commons.logging-1.1.1.jar;
* 需要添加jstl标签库支持,此处使用的是jstl-1.1.2.jar和standard-1.1.2.jar;
###二、前端控制器的配置
新建Maven动态web工程后,在web.xml中添加如源码中配置:
load-on-startup:表示启动容器时初始化该Servlet;
url-pattern:表示哪些请求交给Spring Web MVC处理, “/” 是用来定义默认servlet映射的。也可以如“*.html”表示拦截所有以html为扩展名的请求。
因此请求已交给Spring Web MVC框架处理,因此我们需要配置Spring的配置文件,默认DispatcherServlet会加载WEB-INF/[DispatcherServlet的Servlet名字]-servlet.xml配置文件。本示例为WEB-INF/ chapter2-servlet.xml。
###三、在Spring配置文件中配置HandlerMapping、HandlerAdapter
具体配置在WEB-INF/ chapter2-servlet.xml文件中:
BeanNameUrlHandlerMapping:表示将请求的URL和Bean名字映射,如URL为 “上下文/hello”,则Spring配置文件必须有一个名字为“/hello”的Bean,上下文默认忽略。
SimpleControllerHandlerAdapter:表示所有实现了org.springframework.web.servlet.mvc.Controller接口的Bean可以作为Spring Web MVC中的处理器。如果需要其他类型的处理器可以通过实现HadlerAdapter来解决。
###四、在Spring配置文件中配置ViewResolver
已在WEB-INF/ chapter2-servlet.xml文件中配置好
###五、开发处理器/页面控制器
org.springframework.web.servlet.mvc.Controller:页面控制器/处理器必须实现Controller接口,注意别选错了;后边我们会学习其他的处理器实现方式;
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) :功能处理方法,实现相应的功能处理,比如收集参数、验证参数、绑定参数到命令对象、将命令对象传入业务对象进行业务处理、最后返回ModelAndView对象;
ModelAndView:包含了视图要实现的模型数据和逻辑视图名;“mv.addObject("message", "Hello World!");
”表示添加模型数据,此处可以是任意POJO对象;“mv.setViewName("hello");”表示设置逻辑视图名为“hello”,视图解析器会将其解析为具体的视图,如前边的视图解析器InternalResourceVi。wResolver会将其解析为“WEB-INF/jsp/hello.jsp”。
###六、开发视图页面
创建 /WEB-INF/jsp/hello.jsp视图页面,如源码所示。
${message}:表示显示由HelloWorldController处理器传过来的模型数据。
###七、启动服务器运行测试
通过请求:http://localhost:8080/TmodWithSpringMVC/hello,如果页面输出“Hello World! ”就表明我们成功了!
##SpringMVC结合myBatis实现用户CRUD功能
###主要是要学会结合Entity和Mapper.xml