jsp的使用

一、JSP的快速入门

  1. 问题:servlet和html在web开发中的优缺点?
    html:很方便书写网页 所写的内容都是静态的
    servlet:可以动态的生成网页 缺点是书写网页内容很麻烦
  2. 真正在企业开发中流程是怎样的?
    美工去写一个静态html页面-------->程序员------->将页面动态化(将html中的每一句使用response.getWriter().write()
    由于这种方式非常的麻烦所有再借鉴PHP和ASP的技术之后就有了JSP技术
    jsp:就像是html  能在html标签中嵌套java代码
  3. jsp内部原理:
    jsp源码-------->翻译成响应的servlet------>编译(会在第一次访问该页面时编译)------->运行
  4. jsp嵌入脚本的语法:
    1. 脚本片段:<% java代码 %>  ------->被翻译成servlet中service方法中(通常指在下面这个方法的方法体中)
    2. 全局脚本:<%! java代码 %> ------->被翻译成全局的属性或方法
    3. 输出脚本:<%=变量/表达式%> ------>被翻译成servlet中的out.print(变量);
  5. jsp的注释:
    1. java注释://  /**/   /***/   :被翻译后的servlet可见
    2. html注释:<!-- -->:html源码可见
    3. jsp注释:<%-- --%>  可见范围:jsp源码中

二、jsp的指令

jsp的指令有三个:page   include   taglib

语法:<%@ 指令 属性="属性值" ...%>

  1. page指令
    作用:是设置整个jsp的属性
    属性:
    1. language:jsp脚本使用哪种语言 默认就是java
    2. import:就是在翻译后的servlet中到导入
    3. pageEncoding:jsp页面存储的编码方式
    4. contentType:指导浏览器编码方式 设置response的编码方式
      注意:pageEncoding设置之后 不仅可以知道jsp本身存储的编码 还能实现contentType的功能
    5. extends:翻译成的servlet继承的类
    6. info:jsp的页面显示信息 没有实质的作用  是给程序员阅读方便
    7. errorPage:jsp页面上如果出现错误 自动跳转的页面 只能配置500的错误
    8. isErrorPage:告知我这个页面是一个错误友好提示页面
      注意:如果404友好提示页面怎么配 在web.xml中配置
      如果500的错误 jsp页面配置了errorPage 同时web.xml也配置错误页面 那么errorPage的优先级高
    9. session:jsp页面脚本中是否可以直接使用session
    10. isELIgnored:jsp页面中是允许使用el表达式 false是允许使用  true就是不允许使用
    11. autoFlush:out缓冲区的自动刷出
    12. buffer:out缓冲区的大小
  2. include指令
    1. 语法:<%@ include file=""%>

      1. <body>
      2. <%@ include file="/include/1.jsp" %>
      3. 这是内容部分
      4. <%@ include file="/include/3.jsp" %>
      5. </body>

      这种方式是静态包含,是2个页面先进行拼接在转到Servlet处理输出

  3. taglib指令:作用引入标签
    语法:<%@ taglib uri="" prefix=""%>
    uri:引入哪个标签库
    prefix:标签命令的前缀
    1. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>//引入java标准标签库
  4. Jsp的内置对象(九大内置对象):
    request  response  session  application  config  page  pageContext  out  exception
    1. request:HttpServletRequest
    2. response:HttpServletResponse
    3. session:HttpSession
    4. application:ServletContext
    5. config:ServletConfig
    6. page:Servlet
    7. pageContext:PageContext,域对象  page域
      1. page域的作用范围:就在本jsp页面
      2. page域<--request域<----session域<-----application域
      3. 域对象统一的方法:setAttribute(name,value)   getAttribute(name)   removeAttribute(name)
      4. page域特殊的方法
        pageContext.setAttribute(name,value,(scope是常量));
        pageContext.getAttribute(name,scope);
        pageContext.findAttribute();
        作用:从四个域中寻找数据 按照从小到大的顺序寻找 page<request<session<application

        scope的常量有:
        pageContext.REQUEST_SCOPE:request域
        pageContext.PAGE_SCOPE:page域
        pageContext.SESSION_SCOPE:session域
        pageContext.APPLICATION_SCOPE:application域

        1. <%pageContext.setAttribute("name", "zhangsan", pageContext.APPLICATION_SCOPE); %>
        2. <%=pageContext.getAttribute("name", pageContext.APPLICATION_SCOPE)%>
      5. pageContext可以获取其他八大内置对象
        1. pageContext.getRequest()
        2. pageContext.getSession()

        作用:可以用作传输传递,如果一个方法要传递多个内置对象,就可以直接传递pageContext这一个参数就可以了。

    8. out:JspWriter
      作用:向页面输出内容
      1. JspWriter out:这个是OUT对象的类
      2. PrintWriter  writer  通过response.getWriter获取的
        都是Writer的子类 但是JspWriter的内部实现其实就是PrintWriter
      3. out和response.getWriter().write()的区别?
        他们的区别是out本身带有一个缓存区,默认的大小为8kb,在Jsp页面直接用Out写数据是写在缓存区当中的,存满之后才会用response写出,而使用response.getWriter().write()写数据就是直接写出,没有缓存区
    9. exception:Throwable
  5. jsp的6个标签(动作)
    1. jsp包含:<jsp:include page="/include2.jsp"></jsp:include>
      jsp包含(动态包含)  -----就相当与 request.getRequestDispatcher().include()
      内部原理:将各个jsp翻译成servlet 然后在运行的时候在动态包含进去
    2. jsp转发:<jsp:forward page=""> -------就相当于request.getRequestDispatcher().forward()
    3. jsp参数:<jsp:param>
      转发页面:
      1. <jsp:forward page="/Test1.jsp">
      2. <jsp:param value="[email protected]" name="e-mail"/>
      3. </jsp:forward>

      接收页面:

      1. <%=request.getParameter("e-mail") %>

来自为知笔记(Wiz)

时间: 2024-12-17 00:16:23

jsp的使用的相关文章

不用动手术的肝脏清洗法

几乎每个人体内都有肝胆结石,或许很多人只知道胆结石,不知道肝脏内也有结石,也不知道其实很多胆结石的初期就是在肝脏内形成的,更不知道吃夜宵.晚饭在7点之后吃.吃油炸食品.甚至喝水较少也会导致肝胆结石.就以上几个不良生活习惯,我们每个人占多少?简单的讲,肝脏是人体内最大的器官,它是人体的解毒工厂,它的构造极其复杂,所以至今为止,人类无法设计出人造肝脏,它的复杂度仅次于脑组织.所以让肝脏维持正常功能直接关系着人体的健康.肝脏可以使激素,酒精以及某些有害药物在体内失效.各种人体无法代谢的毒素都会由肝脏负

导演与明星老婆离婚 恋亲手捧红干女儿

http://www.ehotelier.cn/Thread.jsp?tid=182934http://www.ehotelier.cn/Thread.jsp?tid=182940http://www.ehotelier.cn/Thread.jsp?tid=182946http://www.ehotelier.cn/Thread.jsp?tid=182951http://www.ehotelier.cn/Thread.jsp?tid=182957http://www.ehotelier.cn/T

jsp获取当前项目跟路径

在jsp中获取当前项目的根路径: <% String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/";%> 可以使用${basePath}获取.

Jsp通过Filter实现UrlRewriter原理

web.xml文件: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&q

jsp声明周期

https://www.w3cschool.cn/jsp/jsp-life-cycle.html 几点注意: jsp初始化期: 容器载入jsp文件后,它会在为请求提供任何服务前调用jspinit()方法.如果需要执行自定义的jsp初始化任务,就重写jspinit()方法就行了. public void jspInit() { //代码 } 一般来讲程序只初始化一次,servlet也是一样的.通常情况下您可以在jspInit()方法中初始化数据库连接打开文件和创建查询表. jsp执行期: jspS

JSP、JSTL、EF学习笔记

JSP 1)Java Server Page,在html中嵌入java代码 2)九个内置(隐式)对象 request response out page pageContext config session application Exception 3)JSP指令 <%@ page ... %> Page指令,定义页面属性 eg:<%@ page language="java" contentType="text/html;charset=UTF-8&qu

【JSP】配置错误页面

1,使用JSP方式 如果配置是Jsp时,需要把isErrorPage设置为true, 以及设置 <%@ page language="Java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8" isErrorPage="true"%> 错误页面: <%@page import="java.io.PrintStream"

jsp映射为其他地址上去 ???

在web.xml 里面配置servlet不起作用,所以配置jsp,然后在jsp里面跳转到servlet去   ???  第八天中的<08-jsp常用标签.avi> 在web.xml里面先设定 14.jsp 为默认首页,然后在14.jsp 里面设定跳转到servlet 代码里面去 映射到其他地址去:

关于tomcat JSP虚拟目录的这点事儿!

最简单的情况当然是将.jsp文件放在C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ROOT目录下,运行tomcat, 在浏览器中直接访问http://localhost:8080/HelloWorld.jsp  即可运行.jsp文件 而在实际的开发运用中,我们是不可能将Tomcat应用程序安装在系统盘如C盘. 所以,我们需要运用到设置虚拟目录的知识: 为创建虚拟目录以在浏览器中运行jsp文件:1:假设我们将tomca

jsp&amp;el&amp;jstl-01

案例1-在页面中展示所有商品信息,不要使用jsp的脚本技术分析: jsp/el/jstl jsp: java 服务器页面 作用: 将内容的生成和信息的展示相分离 运行在服务器端,本质上就是一个serlvet,产生的java文件和class保留在tomcat的word目录下.jsp脚本: <%..%> java代码片段 <%=..%> 输出表达式 相当于out.print(); <%!...%> 声明成员jsp的指令 作用:声明jsp页面的一些属性和动作 格式: <