• jsp(java server page)


    Servlet

      优点:逻辑处理方便

      缺点:页面表现麻烦

    Jsp:

      优点:页面表现方便

      缺点:逻辑处理麻烦

    我们一般使用jsp + servlet + javabean

    jsp其实是一种servlet,表面上看是访问jsp,其实是访问jspServlet类。第一次访问jsp的时候,拿tomcat举例子,

    在tomcat work文件夹下,会编译生成jsp的class文件和jsp的java文件。但是并不是直接访问编译好的文件,

    先是要访问org.Apache.jasper.servlet.JspServlet这个类,再由这个类根据访问的jsp名称去找相应的java文件。java文件

    如果存在则直接访问,若不存在,则编译出来。

    总结

    1.在jsp中写java代码,语法:<% java代码 %>,但是写法复杂,不建议使用。

    2.jsp是一种动态网页技术,即动态生成网页数据。常见的几种动态网页技术:jsp,asp(active server page),php(hypeertext preprocessor)超文本预处理语言

    3.jsp就是servlet,所以jsp也是一种java类,通过jsp引擎将jsp转译成了servlet。

    4.jsp~~java + html。

    5. 流程

      -1.浏览器输入http://localhost:8080/test/helloworld.jsp

      -2.tomcat收到*.jsp的请求,到org.apache.jasper.servlet.JspServlet处理(tomcat的web.xml中有配置)

      -3.JspServlet调用相应的java类,及jsp引擎根据helloworld.jsp生成的java类(在tomcat的work文件夹下)

      -4.执行helloworld.class。将html数据输出给tomcat,tomcat再将这些数据输出给客户端。

    jsp语法:

      jsp语法分为3种不同的类型

        -编译器指令

          include,page,tablib

          page:

            <%@page contentType="text/html;charset=GBK"%>

            <%@page import="java.util.*,java.lang.*"%>

            <%@page errorPage ="error.jsp"%>

          include:

            <%@include file = "相对位置"%>

            静态导入:<%@include file="logo.jsp"%>

                是在servlet引擎转译时,就把此文件内容包含了进去(两个文件的源代码整合到了一起,全部放到jspServlet中),所有只生成了一个

                servlet,所以两个页面不能有同名变量。

                运行效率稍微提高一点,耦合性较高,不够灵活。

            动态导入:<jsp:include page="logo.jsp"></jsp:include>

                是在servlet引擎转译后,请求的此页面,所以生成了两个servlet,所以可以有同名变量。

                生成两个Servlet,相当于两个类之间的调用。耦合性低,使用方便、

            <%@taglib uri="http://java.sun.com/jstl/core" prefix="c"%>

        -脚本语法

          注释<!--...-->(html注释,servelet中生成,会发给浏览器),<%--...-->(jsp注释,Servlet中不生成,不发给浏览器)

          声明<%!--...%> 定义成员变量或方法

          表达式<%=...%>

          java脚本段<%...%> 等价于out.print()

        - 动作语法

          <jsp:forward>,<jsp:include>,<jsp:plugin>,<jsp:getProperty>,<jsp:setProperty>,<jsp:useBean>

     jsp内置对象

      request:代表的是来自客户端的请求,例如我们在表单Form中填写的信息等,是最常用对象。关于它的方法使用较多的是

    getParameter,getParameterNames,getParameterValue,通过调用这几个方法来获取请求对象中所包含的参数的值。

      response:代表的是对客户端的响应,也就是可以通过response对象来组织发送到客户端的数据。但是由于组织方式比较

    底层,所以不建议使用。需要向客户端发送文字时直接使用out对象即可。

      session:代表服务器与客户端所建立的会话,当需要在不同的jsp页面中保留客户信息的情况下使用。比如在线购物,跟踪客户轨迹

    等。<%@page session="true"%>这是默认的,如果改为false,则不会初始化session。

      application:负责提供应用程序在服务器中运行时的一些全局信息,常用的方法有getMimeType和getRealPath等、

      out:代表了向客户端发送数据的对象,与response对象不同,通过out对象发送的内容将是浏览器需要显示的内容,是文本一级的。

    可以通过out对象直接向客户端写一个由程序动态生成HTML文件。常用的方法除了print和println外,还包括clear,clearBuffer,flush,

    getBuffersize和getRemaining,这是因为out对象内部包含了一个缓冲区,所以需要一些对缓冲区进行操作的方法。

      pageContext:封装了当前jsp页面的运行信息,它提供了返回jsp页面的其他隐式对象的方法。getRequest(),getResponse(),

    getPage(),getServletContext(),getApplication(),getSession(),getException(),getServletConfig()。foward()

    (等价于request.getRequestDispather().forward(request,response)),include()方法。pageContext几乎包含了所有作用域和对象的信息。

      config:提供一些配置信息,常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。

      page:代表了正在运行的由jsp文件产生的类对象,一般不建议使用。

      exception:代表了jsp文件运行时所产生的例外对象,此对象不能再一般jsp文件中直接使用。而只能在使用了<%@page isErrorPage="true"%>

    的jsp中使用。

      动作语法:

        include

          -1.<jsp:include page="Myjsp.jsp"></jsp:include> 

          -2.<%String a = "Myjsp.jsp";%>

              <jsp:include page="<%= a%>"></jsp:include>

          -3..<jsp:include page="Myjsp.jsp">

               <jsp:param name="a" value="AAA"/>

             </jsp:include>

        forward

          -1.<jsp:forward page="Myjsp.jsp">

              <jsp:param name="a" value ="aaa">

           </jsp:forward>

          -2.<%String a= "myjsp";%>

            <jsp:forward page="<%=a%>"/>

          forward标签之后的代码不起任何作用。

  • 相关阅读:
    【Swift】图文混排,ios开发中在textfield或textView中插入图片
    ios开发-指纹识别
    ios开发-程序压后台后,悄悄的抓取数据~~
    setNeedDisplay和setNeedsLayout
    rangeOfString用法
    NSThread的使用
    UIActivityIndicatorView的详细使用
    iOS高斯模糊处理
    HIbernate学习笔记(一) 了解hibernate并搭建环境建立第一个hello world程序
    Hibernate4搭建Log4J日志管理(附Log4j.properties配置详解)
  • 原文地址:https://www.cnblogs.com/yangfanasp/p/7050769.html
Copyright © 2020-2023  润新知