ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

jsp

2019-07-05 18:58:25  阅读:171  来源: 互联网

标签:文件 java 代码 JSP 转译 jsp


1.jsp的访问原理

  浏览器发起请求,请求JSP,请求被Tomcat服务器接收,执行JspServlet将请求的JSP文件转义成为对对应的java文件(也是Servlet),然后执行转义好的java文件

2.JSP的语法和指令

  • JSP的page指令

    <%@page 属性名="属性值" 属性名="属性值"...%>

    lanuage:声明jsp要被转译的语言

    import:声明转译的java文件要导入的包,不同的包要使用逗号隔开

    pageEncoding:设置jsp文件的数据编码格式

    contentType="text/html"; charset="utf-8":设置jsp数据响应浏览器时,浏览器的解析和编码格式

    session:设置转译的servlet中是否开启session支持支持,默认开启,true表示开启,false表示关闭

    errorPage:设置jsp运行错误跳转的页面

    extends:设置jjsp转译的java文件要继承的父类(包名+类名)

  • JSP的taglib指令
  • JSP的局部代码块

    特点:

      局部代码块中声明的java代码会被原样转译到jsp对应的servlet文件的_JspService方法中

      代码块中声明的变量都是局部变量

    使用:

      <%java代码%>

    缺点:

      使用局部代码块在jsp中进行逻辑判断,书写麻烦,阅读困难

    开发:

      servlet进行请求逻辑处理,使用jsp进行页面展现

  • JSP的全局代码块

    特点:

      声明的java代码作为全局代码转译到对应的servlet类中

    使用:

      <%! 全局代码 %>

    注意:

      全局代码块声明的代码,需要使用局部代码块调用

  • JSP的脚本段语句

    特点:

      帮助我们快速的获取变量或者方法的返回值作为数据响应给浏览器

    使用:

      <%=变量名或者方法%>

    注意:

      不要在变量名或者方法后使用分号

    位置:

      除jsp语法要求以外的任意位置

  • JSP的3种注释

    (1)前端语言注释

      会被转译,也会被发送,但是不会被浏览器执行

    (2)java语言注释

      会被转译,但是不会被servlet执行

    (3)jsp注释

      <%----%>不会被转译

  • JSP的静态引入(JSP的include指令)

    使用:

      <%@include file="要引入的jsp文件的相对路径" %>

    特点:

      会将引入的jsp文件和当前jsp转译成一个java文件使用

      在网页中也就显示了合并后的显示效果

    注意:

      静态引入的jsp文件不会单独转译成java(servlet)文件

      当前文件和静态引入的jsp文件中不能使用java代码块声明同名变量

    优点:

      降低jsp代码的冗余,便于维护升级

  • JSP的动态引入

    使用:

      <jsp:include page="要引入的jsp文件的相对路径"></jsp:include>

    特点:

      会将引入的jsp文件单独转译,在当前文件转译好的java文件中调用引入的jsp文件的转译文件

      在网页中显示合并后的显示效果

    注意:

      动态引入允许文件中声明同名变量

    优点:

      降低jsp代码的冗余,便于维护升级

  • 页面转发(forword标签)

3.jsp的内置对象

  PageContext对象

  

标签:文件,java,代码,JSP,转译,jsp
来源: https://www.cnblogs.com/mxj961116/p/11140064.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有