我对 JSP 作为一种 View 技术有些怀疑。据我了解,JSP 最终会转换为 Servlet(如果我阅读了正确的文档,则通过 Web 容器)。
基于此我有以下问题:
如果JSP转换成Servlet,那它怎么会是 View 技术呢?
是否可以使用普通 Servlet 编写 GUI 元素(如按钮等)?就我个人而言,我还没有看到任何具有 GUI 元素的 Servlet 代码,那么 JSP(具有 GUI 元素)如何转换为 Servlet(这些 GUI 元素被转换到哪里?)。
谁能帮我理解这个?我一直保留着这个疑问,在网上搜索也未能解开。
最佳答案
JSP 是一种模板(或 View )技术。
JSP 文件在运行时编译为 Servlet 类,该类将 JSP 文件的内容返回到 HTTPServletResponse
的作家。这是获得以下结果的便捷方法:
response.getWriter().println("<html>");
response.getWriter().println("<head>");
response.getWriter().println("<title>foobar</title>");
等等。除了嵌入 JSP 文件内的可选 Java 代码之外。所以如果你愿意的话,它有点像 Java 的 PHP 风格。
如果您工作时不小心将 Java 代码添加到 HTML 中,那么这并不是 super 干净的 MVC 分离。
您可以像我上面写的那样在纯 Servlet 中输出 GUI 元素(或者使用更优雅的代码)。不过,JSP 渲染器是一种更简洁的 MVC 方法。
关于JSP作为 View 技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38531375/