Spring mvc 没有servlet的springmvc
我是SpringMVC(以前使用的Rails和ASP.NETMVC)新手。我注意到我仍然必须使用servlet。据我所见,Spring要求您使用servlet——您不能将其替换为其他视图引擎(如ApacheVelocity)Spring mvc 没有servlet的springmvc,spring-mvc,Spring Mvc,我是SpringMVC(以前使用的Rails和ASP.NETMVC)新手。我注意到我仍然必须使用servlet。据我所见,Spring要求您使用servlet——您不能将其替换为其他视图引擎(如ApacheVelocity) 可以将SpringMVC与不同的视图引擎一起使用吗?我似乎找不到任何与此相关的资料。Servlet API不是一个视图引擎,它是一个用于处理HTTP请求的API。换句话说,它是web服务器(servlet容器)用来将HTTP请求传递给应用程序并发送响应的接口 Spring
可以将SpringMVC与不同的视图引擎一起使用吗?我似乎找不到任何与此相关的资料。Servlet API不是一个视图引擎,它是一个用于处理HTTP请求的API。换句话说,它是web服务器(servlet容器)用来将HTTP请求传递给应用程序并发送响应的接口
Spring MVC可以与不同的视图引擎一起使用:JSP、Thymeleaf、Velocity等。您甚至可以使用静态HTML页面(如果您的应用程序纯粹基于AJAX)。有些混乱
- 有几种可能的视图技术
- 如果有什么问题的话,servlet是控制器,而不是视图(实际上,SpringMVC遵循a,所以servlet不是视图中的控制器) 与标准MVC模式中使用的含义相同)
- XSLT、文档视图(PDF/Excel)、JasperReports和其他
我将尝试澄清Servlet与控制器的问题: MVC模式 “标准”MVC模式的工作原理如下图所示: 混淆的第一个原因是试图将SpringMVC(因为名称)融入到这个MVC中。这通常会导致一个错误,因为SpringMVC与这种模式的变化关系更好,如下所述 关于这个问题,我的意思是:如果你真的只想考虑这个MVC模式,servlet更像控制器,而不是视图 模型2 MVC模式 确切地说,如前所述,Spring MVC并不遵循“标准”MVC,事实上它更符合a,除了现有组件(模型、视图和控制器)之外,还包括一个前端控制器组件,如图所示: 现在,在Model2 MVC中,servlet不是控制器组件。它们是前端控制器(实际上,
org.springframework.web.servlet.DispatcherServlet
是前端控制器)
在这张照片中:
- 前端控制器是
org.springframework.web.servlet.DispatcherServlet
- 控制器是您的类(通常用
注释)@Controller
- 视图模板是一个JSP/VM/HTML文件,它将根据您选择的视图技术(如JSP、Tiles、Velocity、Thymeleaf…--而非Servlets之前所列)的模型呈现
- 模型是来自域的数据(对象),从控制器传递到视图
最常用的视图引擎是什么? 这是一个非常相对的问题。Spring参考中列出的所有这些都非常流行。除此之外,我知道百里香是另一个非常好的选择 说一个比另一个好是不公平的,最终的决定将取决于项目的需要。尽管如此,以下是我使用过的两分钱:
- 是最古老的(同时是好的和坏的),也是最快的,但可能非常冗长,允许在页面中使用Java代码段
- 以性能为代价,改进了JSP页面的语法
- 看起来非常相似,它们的速度非常快,它们的语法不同于JSP(是否更清晰可能是个人观点),并且它们有非常好的模板系统
- 我没有使用,但我听说他们有非常好的模板和组件化
- 押注于拥有非常可维护的HTML,这是一个非常健康的项目,具有不断增长的一致性。看