Java 使用Servlet编写动态JSP

Java 使用Servlet编写动态JSP,java,jsp,servlets,printwriter,Java,Jsp,Servlets,Printwriter,我将HTML页面存储在数据库中,并使用PrintWriter out=response.getWriter()以显示它们。我想对我的JSP页面做同样的事情,可以使用JspWriter 示例:我的数据库中有这个页面,我加载这个页面并希望动态处理代码(在servlet中) 不,这是不可能的。servlet将HTML(在本例中)写入响应,您的标准客户端(web浏览器)将理解这一点 然而,JSP是一个动态页面,包含容器必须编译和运行的代码,以便生成HTTP响应的输出。将JSP的内容写入响应将(粗略地说)

我将HTML页面存储在数据库中,并使用
PrintWriter out=response.getWriter()以显示它们。我想对我的JSP页面做同样的事情,可以使用
JspWriter

示例:我的数据库中有这个页面,我加载这个页面并希望动态处理代码(在servlet中)


不,这是不可能的。servlet将HTML(在本例中)写入响应,您的标准客户端(web浏览器)将理解这一点

然而,JSP是一个动态页面,包含容器必须编译和运行的代码,以便生成HTTP响应的输出。将JSP的内容写入响应将(粗略地说)向客户机发送Java代码

如果您需要该级别的动态内容,也许您应该查看自定义标记库。可以找到文档

<%@ page import = "java.io.*,java.util.*" %>
<html>
    <head>
    </head>
    <body>
    <center>
        <%
            // Get current time
            Calendar calendar = new GregorianCalendar();

            String am_pm;
            int hour = calendar.get(Calendar.HOUR);
            int minute = calendar.get(Calendar.MINUTE);
            int second = calendar.get(Calendar.SECOND);

            if (calendar.get(Calendar.AM_PM) == 0) {
                am_pm = "AM";
            } else {
                am_pm = "PM";
            }
            String CT = hour + ":" + minute + ":" + second + " " + am_pm;
            out.println("Current Time is: " + CT + "\n");
        %>
    </center>

</body>
</html>