您的位置:首页 > Web前端 > JavaScript

JSP的基本动作与指令

2017-10-06 10:38 211 查看
freemarker 类似jsp的一个引擎

yml 比xml更简单的结构化语言 
json javaScript对象表示法,是存储和交换文本信息的语法,类似xml

jsp四大作用域
page 当前页面
session 同一次会话
request 同一个请求
application 同一次服务启动

<%@ %>指令
include
动态包含(动作包含):<jsp:include page="页面">
静态包含(指令包含):<%@include file="页面">
区别(效果相同):
1 动态包含使用jsp动作 属性page 静态包含 指令 属性file
2.原来不同
静态包含是直接将jsp的内容嵌入到访问的jsp
动态包含是发送了一个请求给另一个jsp,翻译成servlet后将被包含的servlet的内容包含,能传参数能取参数

page
设置字符集:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
contentType用来定义响应时的字符集(没有设置时,默认值为pageEncoding设置的,建议不设置)
pageEncoding用来定义翻译成servlet时的字符集(优先设置)
设置错误跳转:
<%@ page language="java" pageEncoding="UTF-8" errorPage="err.jsp"%>
errorPage用来定义出错时跳转的路径
<%@ page language="java"  pageEncoding="utf-8" isErrorPage="true"%>
isErrorPage设置属性为true代表错误页面,是使用exception对象的前提
导包:(多个包用多个page不建议使用逗号)
<%@ page language="java" pageEncoding="UTF-8" import="java.uitl.*"%>
是否忽略el正则表达式
<%@ page isELIgnored="false" %>(false不忽略,true忽略,不同的tomcat对el表达式支持不一样)
是否是线程安全的
<%@ page isThreadSafe="true" %>
servlet是单实例,线程是不安全的(节省内存开销)
1.加锁
2.不使用全局变量 
3.改为多实例(内存开销大,多实现一个接口SingleThreadModel),SingleThreadModel方法已过期 
taglib 

定义一个标签库以及自定义标签的前缀

<jsp:>动作
动态包含传参
<jsp:param value="键" class="类路径" scope="作用域">
跳转(转发)

<jsp:forward page="路径">

javabean
只拥有get、set方法的类就叫javabean
创建对象
<jsp:useBean id="a" class="day1005.User"></jsp:useBean>
传值
<jsp:setProperty property="属性" name="值"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: