zoukankan      html  css  js  c++  java
  • 只用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主要用于控制逻辑。

  • 相关阅读:
    显示器接口
    常用英语-持续更新
    Web Service
    单元测试--Moq
    单元测试--Xunit
    Asp.Net WebApi 跨域问题
    VS中常用的快捷键
    单元测试--最佳实践
    设计模式--建造者模式
    windows10搭建GitBucket服务器(1)
  • 原文地址:https://www.cnblogs.com/qcxdoit/p/6057624.html
Copyright © 2011-2022 走看看