JSP简明教程「建议收藏」

1、jsp是什么?1)jsp:javaserverpages2)jsp运行在服务器3)jsp的基础是servlet,相当于对servlet进行一个包装4)jsp无需配置,直接使用,如果修改了jsp文件,不需要重新reloadweb应用5)jsp访问方法:http://ip:8080/web应用名/jsp路径6)jsp是一种动态网页技术2、JSP=html+java片段+JSP标签(语法)+j

大家好,又见面了,我是你们的朋友全栈君。

1、jsp是什么?

       1)jsp:java server pages

       2)jsp运行在服务器

       3)jsp的基础是servlet,相当于对servlet进行一个包装

       4)jsp无需配置,直接使用,如果修改了jsp文件,不需要重新reload web应用

       5)jsp访问方法:http://ip:8080/web应用名/jsp路径

       6)jsp是一种动态网页技术

2、JSP=html+java片段+JSP标签(语法)+javascript(、css)

3、 web 服务器是如何调用并执行一个 jsp 页面?

                   如果是第一次访问 jsp 文件,web服务器会把 jsp 翻译成一个 servlet 文件(.java 文件),再将其编译成一个  .class 文件

                   然后再把 class 加载到内存。如果是第二次访问或之后,就直接访问内存中的实例,因此 jsp 也是单例,

                   第一次访问比较慢,之后较快

       如果某个jsp 文件被修改了,就相当于重新访问该 jsp 文件(即相当于第一次访问)

       eclipse 或 Myeclipse 中对应的 jsp 错误所在行实际上是在对应的 servlet 中的位置,可以到 tomcat  文件中查找

4、jsp 页面中的 html 排版标签是如何被发送到客户端的?

       out.write(”    “);  …… out.write(”   “);

5、jsp页面中的java 代码服务器是如何执行的?

       1)如果有多个<%  %> ,其实相当于是一个大的 <%  %>

       2)在 <%  %> 中定义的变量,会成为servlet 函数的局部变量

6、jsp 语法

      1)指令元素:用于从jsp发送一个信息到容器,比如设置全局变量,文件编码,引入包等

            a、page指令<%@page contentType=”text/html; charset=gb2312 ”  %>

            b、include 指定 <%@include file=”文件路径”  %>

               该指令用于引入一个文件(通常是jsp文件),jsp引擎会把两个jsp文件翻译成一个servlet文件

               因此也称为静态引入,被引入的jsp文件,只需要保留 page 指令即可,<html><body>等均可省略

            c、taglib指令:这个指令允许在jsp页面使用自定义的标签<myTag:yourTag num1=”123″>

        2)脚本元素:可以理解就是 java 的片段 scriptlet

              a、scriptlet:<% java代码 %>

              b、表达式:<% =java 表达式 %>

              c、declaration 声明 <%! 变量/函数 声明  %>

        3)动作元素(用的较少了)

              动作元素是使用 xml 语法写的,是jsp规定的一系列标准动作,在容器处理jsp 时,

              当容器遇到动作元素时,就执行相应的操作

              常用的有 <jsp:forward> 转发和  <jsp:include>:引入另外一个文件,动态引入。

       动态引用是把两个jsp 分别翻译,所以被引入的jsp也可以包含有 <html><body>等,要与静态引入区分

       在开发过程中,我们通常把jsp 放入 WEB-INF 目录下,目的是为了防止用户直接访问这些jsp文件,在 

                  WebRoot 下,我们只留一个入口页面,主要用于负责转发,在入口内写:

                  <jsp:forward page=”/WEB-INF/hello.jsp”></jsp:forward>

7、jsp 的注释

      <!–  –>:这个是 html 的注释方式,可以使用于 jsp 中

      <%–  –%>:这个为 jsp 专用注释。这种注释不会在编译对应的servlet 中有注释输出,推荐使用

8、jsp九大内置对象(括号里为相对于servlet中的对象)

      1)out:向客户端输出数据,字节流,(JspWriter)
      2)request:接受客户端的http请求(HttpServletRequest)
      3)response:封装jsp的产生的回应( httpServletResponse)
      4)session:用于保存用户的信息,跟踪用户的行为(HttpSession)
      5)application:多个用户共享对象,可以做计数器(ServletContext)
      6)pageContext:代表jsp页面的上下文,也是一个域对象,作用范围只是本页面(Context)
      7)exception:代表运行时的一个异常(Exception)
      8)page:代表jsp这个实例本身  (this)
      9)config:代表jsp对应的servlet的配置可以得到 web.xml中的参数(ServletConfig)

                                              

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127871.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • document.all的详细解释(document.all基本上所有浏览器可用!)

    document.all的详细解释(document.all基本上所有浏览器可用!)从何而来从IE4开始IE的objectmodel才增加了document.all对象,MSDN中也对Object.all有详细的说明,Object.all是个HTMLCollection,不是数组,它包含document.all:http://msdn.microsoft.com/en-us/library/ms537434%28VS.85%29.aspx自他出现后,IE后续版本也…

  • mysql的左连接和右连接(内连接和自然连接的区别)

    获取boy、girl表下载地址一、内连接查询innerjoin关键字:innerjoinon语句:select*froma_tableainnerjoinb_tablebona.a_id=b.b_id;说明:组合两个表中的记录,返回关联字段相符的记录,也就是返回两个表的交集(阴影)部分。案例解释:在boy表和girl表中查出…

  • Android布局详解

    Android布局详解Android六大基本布局分别是:线性布局LinearLayout、相对布局RelativeLayout、帧布局FrameLayout、表格布局TableLayout、网格布局GridLayout。其中,表格布局是线性布局的子类。网格布局是android4.0后新增的布局。普通视图还是布局都继承自View,其中ViewGroup就是所有布局的父类,ViewGroup继承自View…

  • USB转232和485的区别

    1串口串口,即串行通信接口,与之相对应的另一种接口叫并口,并行接口。两者的区别是,传输一个字节(8个位)的数据时,串口是将8个位排好队,逐个地在1条连接线上传输,而并口则将8个位一字排开,分别在8条连接线上同时传输,也就是进行数据传输的接口串口是一种物理接口形式,(硬件)通常指COM接口,当然这些接口有着很多标准接口标准:串口通信的接口标准有很多,而我们所了解的RS-23…

  • Linux:Tomcat部署war包

    Linux:Tomcat部署war包1、xftp上传Tomcat2、解压Tomcat:tar-zvxf文件unzip文件等解压命令3、将war包放在Tomcat中的webapps目录下(如果webapps中有任何其他war包或解压后的文件都需要删除)4、修改以上穿过去的文件的拥有者(非root用户下时)5、查看需要使用的端口的占用情况(ro…

    2022年10月28日
  • c++0xc0000005解决方案_蓝屏代码0xc0000005

    c++0xc0000005解决方案_蓝屏代码0xc0000005[HandleProcessCorruptedStateExceptions]//捕获c++异常[SecurityCritical]//捕获c++异常publicvoidxxx(){try{}catch(…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号