本文主要介绍了在项目中使用JSTL-Struts开源MVC框架的相关知识,包括JSTL的引入、常用标记以及Struts框架的原理和目标。
在项目中使用JSTL是一个常见的实践,JSTL(JavaServer Pages Standard Tag Library)是一个标准标签库,用于增强JSP页面的功能。为了在项目中使用JSTL,需要将`jstl.jar`和`standard.jar`两个库文件拷贝到`WEB-INF/lib`目录下。接着在JSP页面中引入JSTL的标签库,通常会用到以下两个标签库:
- `<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>`:引入核心标签库,包含了如`<c:out>`、`<c:if>`、`<c:choose>`、`<c:when>`、`<c:otherwise>`、`<c:forEach>`等常用的控制流标签。
- `<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>`:引入格式化标签库,提供了如`<fmt:formatNumber>`和`<fmt:formatDate>`等用于格式化数字和日期的标签。
Struts是一个开源的MVC框架,它的目标是提供一种用于开发Web应用程序的结构。在学习Struts之前,需要了解MVC模式,它将应用程序分为三个部分:Model(模型)、View(视图)和Controller(控制器)。在传统的Model1模式中,JSP页面通常承担了过多的职责,导致代码不易维护和重用。而Model2(即Struts)则引入了MVC模式,将业务逻辑、数据呈现和用户交互分开,提高了代码的可维护性和可扩展性。
Struts框架的核心组件包括:
1. **模型(Model)**:代表应用程序的核心功能和数据,负责处理业务逻辑,与数据库交互,对外不直接暴露修改方法,而是通过访问器和修改器(getter和setter)来操作属性。
2. **视图(View)**:负责展示模型的数据,通常由JSP页面实现,它只从模型中获取数据,不应包含任何业务逻辑。
3. **控制器(Controller)**:作为用户和模型之间的桥梁,接收用户请求,调用模型进行处理,并将结果传递给视图进行显示。在Struts中,控制器由ActionServlet实现。
在Struts框架中,当浏览器发起请求时,Web容器(如Tomcat)会创建一个HttpServletRequest对象(请求)和HttpServletResponse对象(响应)。控制器接收到请求后,根据配置文件(struts-config.xml)解析请求,找到对应的Action,执行Action中的业务逻辑。完成后,Action会返回一个ActionForward对象,指示视图(通常是JSP)如何展示结果。
JSTL和Struts都是Java Web开发中的重要工具,它们帮助开发者构建更加整洁、易于维护的代码结构,提升项目的整体质量。通过学习和熟练掌握这些技术,开发者可以更高效地开发复杂的Web应用程序。