我对JSP作为一种视图技术有一些疑问。据我所知,JSP最终会转换为Servlet(如果我已经阅读了正确的文档,则通过Web容器)。
基于此,我有以下问题:
如果将JSP转换为Servlet,那么它是一种视图技术呢?
是否可以使用普通Servlet编写GUI元素(如按钮等)?就个人而言,我还没有看到任何具有GUI元素的Servlet代码,那么JSP(具有GUI元素)如何转换为Servlet(这些GUI元素在哪里被转换为?)。
任何人都可以帮我理解这个吗?我一直在怀疑并在网上搜索我无法清除它。
答案 0 :(得分:2)
JSP是一种模板(或视图)技术。
JSP文件在运行时编译为Servlet类,它将JSP文件的内容返回给HTTPServletResponse
的编写器。这是获得结果的便捷方式:
response.getWriter().println("<html>");
response.getWriter().println("<head>");
response.getWriter().println("<title>foobar</title>");
等。除了可选的Java代码,嵌入在JSP文件中。如果你愿意的话,它有点像Java的PHP风格。
如果你不太小心并且在你的HTML中添加Java代码,那就不是超级干净的MVC分离。
您可以像我上面所写的那样在纯Servlet中输出GUI元素(或者使用更优雅的代码)。但是,JSP渲染器是一种更清晰的MVC方法。
答案 1 :(得分:0)
您可以将所有MVC(模型,视图,控制器)部分编写到JSP中。但它并没有用,而且安全。
如果你想使用JSP我建议你使用 Spring MVC , Spring Security , JSTL 和CSS Framework( Bootstrap < / strong>等)。
该结构对JSP非常有用。您可以使用servlet,hibernate,更多GUI效果,拦截器和大量JavaScript框架。