head first java中文电子版_Java_web入门教程(三)——JSP

JSP

JSP概述

  • 动态网页,希望在浏览器页面中编写Java代码,简化Servlet

  • 举例:

     @ page import="java.util.Date" %>-- Created by IntelliJ IDEA. --%>@ page contentType="text/html;charset=UTF-8" language="java" %><html>  <head>    <title>indextitle>  head>  <body>      Date date = new Date();    System.out.println(date);  %>  hello java_web  body>html>
  • JSP可放置在web应用除了WEB-INF中的任何目录下

  • JSP本质上是一个Servlet

JSP页面的9个隐含对象

  1. PageContext pageContext = null;   配置页面上下文,可从该对象获取到其他八个隐含对象,也可获取到其他信息(自定义标签时使用);

  2. HttpSession session = null;

  3. ServletConfig config = null;    使用时需要映射jsp,同servlet

  4. ServletContext application = null;

  5. JspWriter out = null;    调用out.println(),可把字符串打印在浏览器页面上;

  6. Object page = this;    指向当前JSP对应的Servlet对象的引用,几乎不使用;

  7. request;

  8. response,几乎不会使用。

使用编写代码在此位置,可用到这八个隐含对象(实际上还有exception隐含对象)

exception使用需要一定的条件,要有声明

隐含对象不需要声明即可使用

jsp换行可通过换行,可嵌套至html中

JSP指令

  1. 定于一网页依赖属性,比如脚本语言、error页面、缓存需求等

    一个JSP页面可包含多个page指令

    语法格式:

     @ page attribute="value" %>

    相关属性:

    0f9c2f1c79b268fd70baadac94456976.png

  2. 包含其他文件被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行。

    指令格式:

     @ include file="文件相对 url 地址" %>
  3. 引入标签库定义。JSP API允许用户自定义标签,一个自定义标签库就是自定义标签的集合。

    Taglib指令引入一个自定义标签集合的定义,包括库路径、自定义标签。

    指令格式:

     @ taglib uri="uri" prefix="prefixOfTag" %>

JSP页面的请求的转发和重定向

本质区别:请求的只发出一次请求,重定向多次请求

  • 转发

     request.getRequestDispatcher("other.jsp").forward(request, response);
  • 重定向

     response.sendRedirect("other.jsp");

JSP域对象及其属性有关的方法

e1f3c5311a8ed619bc23f7ef96b9ca6d.png

解决中文乱码问题

  1. page指令字符编码集要支持中文

  2. post请求request之前设置页面编码格式

     request.setCharacterEncoding("UTF-8");
  3. GET请求tomcat有问题

    重新配置tomcat

5b1e81d5b7a6416cf36a2f18aa6318a3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值