zoukankan      html  css  js  c++  java
  • jsp--入门

    JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1]  是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

    JSP的特点:

      1)JSP的运行必须交给tomcat服务器。

      2)JSP页面既可以写html代码,也可以写java代码。

    JSP的执行过程:

      1)浏览器访问xxx.jsp页面,tomcat扫描到xxx.jsp文件,在%tomcat%/work把jsp文件翻译成java源文件。

      2)tomcat服务器把jsp的java源文件翻译成class字节码文件。

      3)tomcat服务器构造jsp类的对象。

      4)tomcat服务器调用jsp类里的方法,返回内容显示到浏览器中。

      注意:

        1)第一次访问jsp的时候执行以上四个步骤,第n次访问的时候只执行(4)。

        2)如果jsp文件修改或者jsp的临时文件被删除了,当访问jsp页面的时候,会重新走以上4个步骤。

        3)jsp翻译之后的类就是一个servlet类,可以通过翻译的java源文件查看。

    JSP的语法:

      1)JSP模板:jsp页面中的html代码,使用eclipse创建jsp页面的时候带有html语句,代码如下

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10 
    11 </body>
    12 </html>

      2)jsp表达式

        语法:<%=变量或者表达式%>

        作用:向浏览器输出变量的值或者表达式计算后的结果。

        注意:

          1)表达式的原理就是翻译成out.print("变量"),通过该方法向浏览器中写写内容。

          2)表达式后面不需要用分号结束。

      3)jsp脚本

        语法:<%java代码%>

        作用:执行java代码

        注意:原理是把脚本中的java代码原封不动的copy到_jspService方法中执行。

      4)jsp声明

        语法:<%! 变量或者方法%>

        作用:声明jsp的变量或者方法。

        注意:变量汇翻译成成员变量,方法翻译成成员方法。

      5)jsp注释:

        语法:<%-- jsp注释 --%>

        作用:注释jsp代码。

        注意:html代码的注释会被tomcat翻译到jsp的java源文件中,jsp的注释不能被翻译和执行。

    JSP三大指令

      1)page指令  

     1 <%@ page language="java" 
     2     contentType="text/html; charset=UTF-8"
     3     pageEncoding="UTF-8"
     4     import="java.util.*"
     5     errorpage="error.jsp"
     6     isErrorPage="false"
     7     buffer="8kb"
     8     session="true"
     9     isELIgnored="false"
    10     
    11     %>

      解释:language --告诉服务器使用什么动态语言来翻译jsp文件。

         contentType --服务器发送到浏览器的数据类型和内容编码格式。

         pageEncoding --告诉服务器使用什么编码格式来翻译jsp文件。

         import -- 告诉服务器java文件使用什么包即导入包;多个包之间用逗号分隔。

         errorpag --设置jsp页面发生错误时,跳转的页面。

         isErrorPage -- 值有true和false两个。true标识翻译成java文件是有exception对象,false没有。

         buffer -- 设置页面中out输出对象的缓冲区大小,默认为8kb,建议使用8的倍数。 

         isELIgnored --值有true和false两个,设置页面是否忽略EL表达式。

      为了方便起见,可以配置全局的errorPage,配置方法为在web.xml文件中配置一下参数:

      <!-- 全局错误处理页面配置 -->
      <error-page>
          <error-code>500</error-code>
          <location>/common/500.jsp</location>
      </error-page>
      <error-page>
          <error-code>404</error-code>
          <location>/common/404.html</location>
      </error-page>

      2)include指令:静态包含

    1 <%@include file="common/header.jsp"%>

      作用:在当前jsp页面中包含其他页面。

      注意:原理是把被包含的页面的内容翻译到包含页面中,合并翻译成一个java源文件,在编译运行。使用静态包含,被包含页面中不需要出现全局的html标签(html、head和body)。

      3)taglib指令:导入标签库

    <%@ taglib uri="文件位置" prefix="前缀名称" %>

        作用:导入jsp的标签库。

    JSP内置对象

      由sun公司设计在jsp中,在jsp页面加载完毕之后就会自动创建好这些对象。避免开发者每次用到的时候都创建。这样的对象叫做内置对象。

      1)jsp中的9大内置对象

        内置对象名    类型                

        request    HttpServletRequest

        response    HttpServletResponse

        config       ServletConfig

        application   ServletContext

        session    HttpSession

        exception    Throwable

        page      Object(this)

        out      JspWriter

        pageContext  PageContext ----可以通过pageContext对象获得其余的8大内置对象

      2)四个域对象

        pageContext --作用域是当前jsp页面 (当前页面)

        request  --作用域是同一个请求 (转发)

        session  --作用域是同一个会话 (私有的)

        application  --作用域是同一个web应用 (全局的)

      注意:每个域对象都有设置获取和删除属性的三个方法。

      

  • 相关阅读:
    PHP 大小写转换、首字母大写、每个单词首字母大写转换相关函数
    【论文学习4】BiSample: Bidirectional Sampling for Handling Missing Data with Local Differential Privacy
    【论文学习3】Local Differential Privacy for Deep Learning
    【论文学习2】 Differential Privacy Reinforcement Learning
    深度学习中的优化算法
    Spatial crowdsourcing
    “pip install tensorflow ”出现错误
    python或pip'不是内部或外部命令”
    pip install torch出现错误
    打不开gitHub的解决方法
  • 原文地址:https://www.cnblogs.com/nicker/p/6601018.html
Copyright © 2011-2022 走看看