jsp(翻译引擎)

  • jsp职责是展示数据
  • sevlet职责收集数据

开始

  • 创建一个.jspe文件,文件没有内容,部署到服务器上,展现的是一个空白。
  • 实际上底层执行的是index_jsp.class,
  • . jsp会生成.java文件并编译
  • jsp实际上是一个servlet,index_jsp.java继承字HttpJspBase,而HttpJspBase继承了HttpServlet
  • jsp生命周期与servlet一致
  • 第一次访问效率低,需要先生成文件

基础语法

jsp不默认为UTF-8
例子
<%@page contentType="text/html; charset=UTF-8" %>  
<%  
System.out.println("曹飞羽");  
String name = "casda";  
out.write(name);  
%>  
<%!  
private int a;  
%>

jsp普通文字翻译

jsp编写的文字会自动翻译到servlrt类的service的out.write(“在这里”)。被翻译成字符串,打印在网页

jsp的page指令

<  % @page % > 
解决响应的乱码问题
<%@page contentType="text/html;charset=UTF-8" %>

charset不能有空格。
例子

<%@page contentType="text/html;charset=UTF-8" %>  
<html >  
<head>  
    <script type="text/javascript">  
        function hello(){  
            alert("你好")  
        }    </script>  
    <title>Title</title>  
</head>  
<body>  
    <input type="button" value="hello.jsp" οnclick="hello()">  
  
</body>  
</html>

jsp写java程序

service方法内
 <%   java语句 %>

在这个符号中写会被视为java程序,编译到service方法内部(会翻译到体内,注意)

service方法外
<%! %>
jsp输出语句
<% String name = "asf"; 
out.write(name);
%>
  • out是jsp九大内置对象之一,可以直接使用,只能在service方法中使用
  • 不建议使用会有线程安全问题
  • 如果输出的内容只是字符串,直接写外面
如果内容含有java代码
<%= %>
  • = 后面写需要输出的内容 最终被翻译为out.print(),不要

注释

<%--      --%>

JSP指令

  • 作用:指导翻译引擎工作
包含
  • include指令
  • taglib指令
  • page指令
用法
 <%@指令名 属性名=属性值 属性名=属性值 属性名=属性值 ...... %>
page常用属性
session 启用session内置对象
<%@page session="true|false"%>
  1. true表示启用session内置对象
  2. false表示没有session对象创建
contentType 设置响应的内容类型
<%@page contentType="text/html; charset=UTF-8" %>
  • 设置响应的内容类型 text/html
  • 设置响应的字符集 eg:charset=UTF-8 在后面直接加上
pageEncoding 设置响应的字符集
<%@page pageEncoding="utf-8" %>
  • 设置响应的字符集
import 导包
<%@page import="com" %>
  • 导包
errorPage 出错误后跳转
<%@page errorPage="index.jsp" %>
  • 该界面出错误后跳转到该index.jsp界面
  • 指定出错误的跳转路径
isErrorPage exception内置对象启用
<%@page isErrorPage="true|false" %>
  • true exception启用
  • false exception不启用
  • exception
<%  
  //打印异常堆栈信息  
  exception.printStackTrace();  
%>
isELIgnored 忽略EL表达式
  • true 忽略
  • false 不忽略 (默认)

九大内置对象

pageConttext 页面作用域

requext 请求作用域

session 会话作用域

application 应用作用域

exception

  • 通过page指令中 isErrorPage进行启用
<%  
  //打印异常堆栈信息  
  exception.printStackTrace();  
%>

config

page (其实是this ,当前servlet的对象)

out 负责输出

response 负责响应

其它

  • pageConttext 页面作用域 < requext 请求作用域 < session 会话作用域 < application 应用作用域
  • 以上四个作用域都有 setAttribute , gettAttribute , removeAttribute方法
  • 以上作用域使用,尽可能的使用小的。

Filter过滤器

Listener监听器

其它

  • 动态获取html的bace标签路径
<base href="${pageContext.request.scheme}://${pageContext.request.serverPort}${pageContext.request.contextPath}/">
  • ${pageContext.request.scheme} 代表http
  • ${pageContext.request.serverPort} 代表服务器ip
  • ${pageContext.request.contextPath} 代表路径
  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值