首先,我认为从 Maven 开始,创建一个 WAR 项目并使用它来生成 Eclipse 项目文件,然后您可以将其导入更容易。这样做的好处是允许 Maven 不仅可以创建正确的文件夹结构,还可以让它管理您的依赖项。Eclipse 有一些插件可以帮助您使用 Maven,并且您应该能够使用 Google 找到很多 How-Tos。否则,您将不得不创建一个生成 WAR 的项目类型,我认为其中之一是 Web 项目,并手动布局文件夹结构。
在您拥有正确的文件夹布局后,您需要设置 web.xml 以启用 Spring,添加您的 Java 类和查看文件(html、jsps 等),并构建一个 WAR。最后一步是将该 WAR 部署到某种 Web 容器,例如 Tomcat 或 Jetty。您可以在外部运行它,或者配置 Eclipse 以直接在 IDE 中部署和启动您的 WAR。我更喜欢后一种方法,因为它使设置调试更容易,而不是在外部运行它就不可能了。
此外,我建议将 Spring 插件添加到 Eclipse,或者只下载他们的 STS(Spring Tool Suite),它只是 Eclipse,所有 Spring 插件都已添加和配置。STS 的好处是已经有 tcServer 可用,这是 Spring Source 的 Tomcat 风格。同样,关于如何执行所有这些操作的大量操作指南。
编辑以回答第一条评论
我不知道我是否可以在这里完整地解决您的评论,因为这是一个非常广泛的要求。您基本上是在问我如何使用 jQuery 和 Spring MVC 编写完整的应用程序。大量专门针对该主题的书籍,以及您可以访问的许多提供有关如何开始开发的教程的网站。事实上,我认为 Spring 网站上有一个使用 Spring MVC 构建他们的演示 Pet Clinic 站点的教程。我将尝试做的是给你一些关于你应该问什么的方向。
Spring MVC,顾名思义,是一个利用 Spring Framework 的 Model-View-Controller 框架。我不会尝试详细介绍,因为同样有大量关于 Spring 及其所有奇迹的书籍,但总的来说 Spring MVC 希望将应用程序分解为以下部分:
1. 模型
这些是您用来表示“数据”的对象。这可以是来自数据库、平面文件、其他 Web 服务调用的数据,或者只是在控制器中传递的数据。您将听到它们通常被称为域对象或实体等等。但是,无论您如何称呼它们,它们通常都是 POJO(普通旧 Java 对象)Java Bean,没有真正的业务逻辑,它们的唯一存在就是表示一些“数据”以及它与其他“数据”的关系。
有些人喜欢让这个对象知道如何读/写它自己的数据存储,有些人喜欢有一个仅用于处理读/写的外部对象。这些有时被称为 DAO(数据访问对象)或存储库。还有一些框架可以用来处理这些东西,比如用于数据库的 Hibernate 或 JPA。
2.服务层
这在 MVC 首字母缩写词中没有表示,有人可能会争辩说这是“控制器”的一部分,但将业务逻辑放入服务层通常是个好主意。这通常是一个 POJO 类,它具有执行您需要对模型对象执行的操作的方法。它包含您的业务逻辑,因此所有业务规则都在一个地方。这些通常被拆分以表示业务功能。例如,如果您有一个处理汽车购买的应用程序,您可能有一个服务类来处理与用户相关的功能(创建用户、更新密码、获取他的偏好),一个处理库存(有什么库存,什么在路上,当前的销售价格是多少),以及处理购买的一个(验证客户的信用,启动标签流程等)。这些服务相互引用也很常见。例如,上面的 User 服务可能使用 Inventory 服务来获取上周售出的汽车 Bill 的 VIN 号码列表。
3. 控制器
控制器是将“视图”粘合到服务层的东西。它提供了应用程序中的 URL 到它们在服务层中执行的功能的映射。大多数人尽量不让太多代码使 Controller 对象杂乱无章,并尝试尽可能多地向下推入 Service 层。但是,只要它是简单的逻辑,我个人不介意在控制器中有一点代码。
4. 观点
这是您发送给用户的内容。它可能是由 JSP 支持的网页。它可能是根据用户输入生成的 Excel 电子表格报告。它可能是对 REST 调用的简单 JSON 响应。这有点像“天空是极限”。但是,在大多数情况下,这要么是 JSP 视图,要么是来自 Web 服务调用的 JSON 或 XML 响应。
现在更直接地解决您的评论...
由于您是新手,我会推荐 3 种方法之一:
- 去拿一本书……按照书上说的去做。那里有很多。找到一个对项目有很好的演练的人,然后复制/粘贴他们的程序。一本好书通常会有一章介绍如何设置所有必要的工具(Eclipse、Tomcat/Jetty 等)
- 在 Internet 上找到一个好的方法。有很多人有教程。找到一个并复制/粘贴他们的程序。
- 使用类似Spring Roo的东西。Spring Roo 是一个代码生成工具,可用于构建一个完全工作的站点,几乎没有代码。我是 Roo 的忠实粉丝,特别是对于不在团队中工作的单独开发人员,因为它可以生成大多数开发人员讨厌编写的大量样板代码。它也以非常类似于 Spring 的方式做事,因为毕竟它是由 Spring 人创建的。
这些将使您摆脱“如何在 Eclipse 中创建项目”问题。问题一的第 2 部分有点棘手。我想说,现在,不要专注于 AJAX 和其他东西。专注于简单地了解 Spring MVC 的工作原理。问题是,你基本上是想一次把 10 件事塞进去。Spring MVC 很难让你的头脑清醒(注解、JSTL、EL 和 Spring 自定义标签库,更不用说你可能会接触到的所有其他东西,比如 Spring Data 等),但是你想要添加动态网页,它是 JavaScript(很可能是一些像 jQuery 这样的框架),并且你不想使用像杰克逊这样的东西(不知道为什么,但是好的......)来帮助简化从Java 到 JavaScript。这是一项艰巨的任务。再次,
对于最后一个问题,提供代码示例,我将向您指出mkyong 的精彩博客,其中包含 Spring 相关教程以及Spring 自己的教程站点和Spring 的示例站点作为一个很好的起点。