• 只用jsp实现同样的Servlet功能


    Jsp最终都会转化成java形式的Servlet执行,因此也可以说Jsp的本质就是Servlet,在jsp执行后,会在服务器上(例如tomcat中)生成.java以及.class文件。具体执行过程如下:

                                                                                                                              Fig.1 Jsp的执行过程

       

                                                                                                                              Fig.2 Jsp具体执行过程

    如图所示,Servlet能实现的功能,Jsp也能实现。

    举个简单的例子,之前我用jsp显示前端+Servlet实现后端逻辑,这里我把逻辑实现也用Jsp实现:

    <body>
    <form action="ResultJsp.jsp">
    username:<input type="text" name="username"><br>
    password:<input type="password" name="password"><br>
    <input type="submit" value="submit">
    <input type="reset" value="reset">



    </form>
    </body>

    ResultJsp.jsp代码实现逻辑如下:

    <body>

    <%
    String username=request.getParameter("username");
    String password=request.getParameter("password");

    response.setContentType("text/html");

    out.println("<html><head><title>LoginResult</title></head>");
    out.println("<body>username:"+username+"<br>");
    out.println("password:"+password+"</body></html>");
    out.flush();

    %>
    </body>

    这样我们就能实现之前用java代码实现的Servlet类的功能啦。

    总结:

    1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
    2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
    3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.
    Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
     
    老师发的答案1:
    JSP在本质上就是SERVLET,但是两者的创建方式不一样.Servlet完全是JAVA程序代码构成擅长于流程控制和事务处理而通过Servlet
    来生成动态网页;JSP由HTML代码和JSP标签构成,可以方便地编写动态网页
    因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层.
    答案2:
    JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

  • 相关阅读:
    matlab练习程序(径向模糊1)
    matlab练习程序(摄像头获取数据)
    jpg转bmp(使用libjpeg)
    matlab练习程序(图像放大/缩小,双线性插值)
    一维最大子数组
    二分查找
    图像处理时用的卷积函数
    matlab练习程序(摄像头视频中截图)
    bmp24位彩色图像转8位灰度图像(纯C++)
    C#中值类型、引用类型 再次理解
  • 原文地址:https://www.cnblogs.com/qcxdoit/p/6057624.html
Copyright © 2020-2023  润新知