运行 JSP 的最少干扰方式

Least intrusive way of running JSP

我加入了一个使用 Java、Apache Tomcat、jBoss 构建的现有大型网络应用程序,作为前端人员来执行 Javascript工作;但不知何故发现自己正在构建新的 JSP 页面模板,以及可重复使用的标记文件。我正在学习模板语言,以前对 JSP 或 Java.

一无所知

如何确定我创建的 JSP 页面的路径以及如何在 Web 浏览器中解析它们并让它们与任何关联的标签、标签库等一起编译和显示。被使用了?


我的 JSP 个页面是这样的:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ include file="/WEB-INF/jsp/common.inc" %>
<%@ taglib prefix="ab" tagdir="/WEB-INF/tags" %>

<ab:cPage pageId="overview">
<jsp:body >
<div class="features-wrapper">
    <div class="features-content">
        <h1>${heading}</h1>
        <h2>${subheading}</h2>

        <c:forEach var="accessory" items="${page.accessories.content}" varStatus="status">
            <c:choose>
                <c:when test="${empty accessory}">

                </c:when>
                <c:otherwise>
                    <ab:modelAccessoryItem value="${accessory}"/>
                </c:otherwise>
            </c:choose>
        </c:forEach>
    </div>
</div>

</jsp:body>

</ab:cPage>

引用的标记文件存在并需要呈现,但所有其他变量目前只是占位符,在 JSP 之外的任何地方都不存在。当我开始编写针对这些页面的 SASS 和 JS 时,我只想能够在浏览器中看到我在做什么。

据我所知,没有办法在浏览器或类似的东西中简单地 运行 JSP。因此,您需要在您的工作站上部署一个简单的 JSP 服务器,您可以使用 URL 访问该服务器,例如 http://localhost:8080/ 以查看内容。 Jetty 网络服务器支持 JSP 并且可能比 Tomcat.

更易于测试配置

我建议您将现有项目导入 IDE,它可以处理在 Tomcat 或其他 Application Server 上部署 JSP 页面。然后您可以通过 http://serverurl:port/pathtojsp.jsp 访问这些页面。例如,看看 Eclipse Java EE 附带的内置 Tomcat.

如果您只想快速测试 .jsp 页面,您也可以将文件放到:<Tomcat-installation-directory>/webapps/ROOT/。这将确保您可以在没有 starting/restarting 和 Tomcat .

的情况下查看 .jsp 文件

为了在您的应用中进行实际部署,您需要访问后端,尤其是控制器 类。模板本身与它们将为其呈现的 URL 没有任何内在关系。

这也意味着您需要对 Java 有一些了解,并且根据您的项目设置,您可能还需要在 XML 文件中进行一些修改以添加映射.

假设这是一个基于注解的项目,你需要这样写。

@Controller
public class IndexController {

    @RequestMapping(value = {"/index"}, method = RequestMethod.GET)
    // this method is mapped to http://example.com/index
    public String handleRequest() {

        return "welcome"; // this will autoload the file welcome.jsp when the url is called
    }

}