Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSP作为视图技术?_Jsp_Servlets_Web Container - Fatal编程技术网

JSP作为视图技术?

JSP作为视图技术?,jsp,servlets,web-container,Jsp,Servlets,Web Container,我对JSP作为一种视图技术有些怀疑。据我所知,JSP最终被转换为Servlet(如果我阅读了正确的文档,则由web容器转换) 基于此,我有以下问题: 如果JSP被转换成Servlet,那么它怎么会是一种视图技术呢 是否可以使用普通servlet编写GUI元素(如按钮等)?就我个人而言,我还没有看到任何包含GUI元素的Servlet代码,那么JSP(包含GUI元素)是如何转换为Servlet的(这些GUI元素在哪里转换成的?) 有人能帮我理解吗?我一直在保留这个疑问,在网上搜索我无法澄清。JSP是

我对JSP作为一种视图技术有些怀疑。据我所知,JSP最终被转换为Servlet(如果我阅读了正确的文档,则由web容器转换)

基于此,我有以下问题:

  • 如果JSP被转换成Servlet,那么它怎么会是一种视图技术呢

  • 是否可以使用普通servlet编写GUI元素(如按钮等)?就我个人而言,我还没有看到任何包含GUI元素的Servlet代码,那么JSP(包含GUI元素)是如何转换为Servlet的(这些GUI元素在哪里转换成的?)

  • 有人能帮我理解吗?我一直在保留这个疑问,在网上搜索我无法澄清。JSP是一种模板(或视图)技术

    JSP文件在运行时被编译成Servlet类,这些类将JSP文件的内容返回给
    HTTPServletResponse
    的编写器。这是获得以下结果的便捷方法:

    response.getWriter().println(“”);
    response.getWriter().println(“”);
    response.getWriter().println(“foobar”)

    除可选Java代码外,嵌入JSP文件中。因此,如果您愿意,它有点像Java的PHP风格

    如果您不太小心地将Java代码添加到HTML中,就不是超级干净的MVC分离

    您可以像我上面写的那样(或使用更优雅的代码)以纯servlet的形式输出GUI元素。不过,JSP呈现程序是一种更干净的MVC方法

    请参阅:

    您可以将所有MVC(模型、视图、控制器)部分写入JSP。但它不是有用的和安全的

    如果您想使用JSP,我建议您使用SpringMVCSpringSecurityJSTL和CSS框架(Bootstrap等)


    这种结构对于JSP非常有用。您可以使用servlet、hibernate、更多GUI效果、拦截器和许多JavaScript框架

    谢谢你的回复。现在我有一个疑问:什么是模板技术?它是zoku为了让你更好地理解这一点而尝试使用的视图技术的另一个名称。非常感谢BalusC和zoku。非常感谢分享你的知识。非常感谢!相关:@BalusC非常感谢您提供此附加信息。