如何使用CSS设计的单独.html
文件显示servlet生成的响应或输出?
例如,servletresp.java
中htmlpage.html
生成的输出。
我们可以在Servlet编程中使用CSS吗?
答案 0 :(得分:2)
你的问题非常通用,所以我假设你是一个刚开始的Java网络程序员。
关于第一个问题,我建议您使用JSP页面(或任何其他模板技术)。
是的,可以使用RequestDispatcher
从Servlet提供.html文件,但是JSP页面用于生成这样的输出 - 很容易使JSP页面的一小部分动态化,同时提供来自的HTML文件servlet没有为您提供某些动态行为的选项。
只需将您的文件 .html页面重命名为 file .jsp,然后将其放入您的war项目的Web源目录中。
关于第二个问题 - 由servlet或JSP页面发送的HTML仍然是普通的HTML,您可以像在任何HTML页面中一样使用CSS。
代码示例:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
RequestDispatcher dispatcher = request.getRequestDispatcher("/file.html");
// If you want to include the file in your response, use dispatcher.include -
// you can include multiple different files or send more output using
// response.getWriter() or response.getOutputStream
dispatcher.include(request, response);
// If you just want to send this one file as the response, use dispatcher.forward
dispatcher.forward(request, response);
}
答案 1 :(得分:0)
如果您的目标是让用户的浏览器(似乎)请求一个静态.html页面,但是执行了您的servlet代码,那么有几种方法可以做到这一点。
大多数(全部?我只熟悉在WebSphere上运行Struts)servlet容器允许您为映射到操作的URL指定任意模式,因此您可以简单地为htmlpage.html
添加映射执行相关代码的servlet操作然后通过JSP(或类似代码)运行,以呈现HTML作为响应发送。
或者,您可以简单地提供一个静态HTML页面,该页面使用JavaScript(如此执行的客户端)模板引擎,然后在页面加载时通过AJAX调用从您的servlet(可能是JSON)加载页面的数据
第二部分没有任何意义。 CSS不是一种编程语言,它只是指定事物外观的规则。如果没有要解释的内容并将这些规则应用于内容(这是浏览器的功能),它也毫无意义。您可以在CSS中包含CSS,或者在servlet代码中生成单独的文件,但它不会做任何事情。