JSP

JSP指令
就是通知JSP引擎如何去处理每一个JSP页面.




指令的类型:
page:
include:
taglib:


page格式:
<%@ page import=""%>
<%@ page import=""%>
<%@ page pageEncoding="UTF-8"%>

page指令的积属性含义:
1.[languager="java"]
<%%>只能使用java语法规则.


2.[import="{package.class|package.*},...."] 
通知JSP引擎,导入哪些包.有些隐含导入.如.javax.servlet.*.javax.servlet.jsp.*
导入自己的的包,得显示导入.


3.[session="true|false"]
通知jsp是否创建session,如禁止可以通过request.getSession来创建
一般通过容器创建,不修改.

4.[buffer="none|8kb|sizekb"]
设置JSP引擎缓存.加快速度


5.[autoFlush="true|false"]
当缓存已满或者缓存未满,但jsp页面执行完毕,设置jsp引擎是否会自动刷新缓存中的数据.


6.[isThreadSafe="ture|false"]
出现线程安全的三个条件:1.单例,2.实例变量,3.修改数据.
默认性况jsp引擎会自动加上synchronized


7.[info="text"]
设置jsp引擎访问相关页面的信息


8.errorPage="relative_url"
设置可能错误页面的链接


9.isErrorPage="true|false"
指明错误页面.是否创建exception对象




10.contentType="text/html;charset=UTF-8"//优先

pageEndoding=""

11.isELIgnored="true|false"//
设置是否忽略EL...;EL=Expression Language

include指令的积属性含义:
<%@ include file=="被包含文件路径"%>
通知include指令包含叫静态包含
总的jsp文件编码为起决定作用

web.xml配置异常处理
//全局
<error-page>
//局部:code优先
<error-code>配置名</error-code>
<location>配置地址</location>
</error-page>
<error-page>
//局部,type最优先
<exception-type>异常类型</exception-type>
<location>配置地址</location>
</error-page>




JSP九大隐对象
  JSP Servlet
request HttpServletRequest
response HttpServletResponse
session HttpSession
application ServletcContext
config ServletConfig
out JspWriter
exception 特殊情况下使用
page this
pageContext(*)


<form action="#" method="post">
用户名:<input type="text" name"username"/>
<input type="submit" value="提交">
</form>


request.setCharacterEncoding(UTF-8);
String username=request.getParameter("username");


response.getWriter().writer("username");


//存值
sesson.setAttribute("","");
application.setAttribute("","");
//取值
String username1=(String)session.getAttribute();
String username2=(String)application.getAttribute();


//config_out
<servlet>
<!--创建一个JSP页面的路径-->
<servlet-name><servlet-name>
<jsp-file></jsp-file>
<!--设置初始化值-->
<init-param>
<param-name></param-name>
<param-value></param-value>
</init-param>
<--设置初始化时的优先顺序,值越小,就优先,值0-10-->
<load-on-startup></loadon-startup>
</servlet>
<!--设置JSP的访问路径-->
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>


config.getInitParameter();




out对象的输出,pw对象的输出,都先输出到对应的缓存中,再输出到浏览器.
out对象是一个比pw对象更高级的输出对象,因此out对象的输出先输出到缓存中.
JSP优先考虑通过out对象输出




PageContext对象作用:
表示当前JSP执行期间的环境信息,有三类作用
1,可以取得其它8个内置JSP对象
2.它本身也是一个域对象/容器对象(setAttribute/getAttrebute)
作用域,仅限当前JSP页面有效.是最小的作用域/容器
3.它具有Web转发和包含的操作


pageContext.getRequest();
pageContext.getResponse();
pageContext.getSession();
pagecontext.getServletContext();
....






pageContext.setAttribute();
pageContext.setAttribute("","",域对象);


pageContext.findAttribute();
会依次查询:page域-->request-->session-->application
都找不到,返回null;


pageContext.forword();
pageContext.include();




JSP中四个域对象 VS Servlet中的三个域对象
生命周期由短到长.
Servlet:
HttpServletRequest
HttpSession
ServletCOntext
JSP:
page域(pageContext类)
只能访问JSP,一次请求的一个页面有效.
request域
可以访问JSP和Servlet,一次请求,不可以同时请求
session域
一次会话.
application域(ServletcContext)
一次Web应用的部署/加载


什么是域?
域对象=容器对象,可以装数据的地方,类似于集合,这些域对象都由服务器管理.

什么时候使用JSP域:
page:在当前JSP中存取值

request:一次性显示新闻,错误消息;

session:购物车,用户登录,用户注册

application:公共聊天室,在线统计人数



JSP内置标签
主要解决<%%>这个符号
有两种标签:内置标签,自定义标签

内置标签:两种:
非JavaBean:包含\传递\转发\
<jsp:include/>动态包含
<jsp:forward/>转发
<jsp:param/>传递
JavaBean

<%--通过jsp标签,包含基它二个jsp文件的输出内容--%>

























































  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wscwsc58888

只为正式环境创作

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值