• jsp对象 指令 动作


    转载来源:https://blog.csdn.net/u010897406/article/details/49618413

    jsp九大内置对象:
    1>out 向客户端输出数据,字节流.out.print(" dgaweyr");
     
    2>request 接收客户端的http请求.
    String getParameter(String name):得到表单参数名name的值.
    String[] getParameterValues(String name):(得到String[]复选框时常用).
    setAttribute(String name,Object obj):设置属性名为name,属性值为obj.
    getAttribute(String name);得到属性值.
     
    3>response:封装jsp产生的回应,然后发送到客户端以响应客户的请求.重定向跳转任意界面.(服务器跳转)
    addCookie(Cookie cookie):
    sendRedirect("/wel.jsp"):跳转到指定页面
     
    4>session:用于保存用户信息,跟踪用户行为,当前打开的浏览器内,多个页面共享数据. session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止.它是HttpSession类的实例.
    setAttribute(String name,Object obj):设置属性名为name,属性值为obj.
    getAttribute(String name):得到属性值.
     
    5>application对象:实现了用户间数据的共享,可存放全局变量.它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问.服务器的启动和关闭决定了application对象的生命.它是ServletContext类的实例.
     
    session,application,request的区别:
    一个项目中session尽量少用几个,因为过多的session会影响程序的执行效率.它主要用于保存登录信息(用户信息,权限,资源)即频繁使用的信息.
    application: 用于多个浏览器之间共享数据,多个用户共享该对象,可以做计数器.它的用法与session完全一样.
    数据范围:
    application(服务器关闭时失效)>session(浏览器关闭时失效)>request(只能用于两个跳转页面之间)
     
    6>page对象代表jsp这个实体本身,即当前页面有效.相当于java中的this.
    数据范围:page<session<application
     
    7>.exception:代表运行时的异常.
    在会发生异常的页面加入指令:<%@ page errorPage="处理错误的页面.jsp"%>
    在处理异常的页面写入:<%@ page isErrorPage="true"%>
     
    8>.pageContext对象 pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext.
     
    9>.config jsp对应的servlet的配置,可以得到web.xml中的初使化参数.
     
    jsp七大动作:
    :include 动态包含(分别编译):
    jsp:include动作实现<jsp: include page="included.jsp" flush="true" />
    它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。flush属性true ,表示页面可刷新。默认为false;
     
    :useBean动作(jsp页面使用javaBean的第二种方式):
    <jsp:useBean id="对象名" class="包名.类名" scope="作用范围(request/page/application/session)"/>
    作用域默认为page(本页面有效).
    :getProperty动作(nameuseBean动作中的id).
    从对象中取出属性值:<jsp:getProperty name="javaBean对象" property="javaBean对象属性名" />
    :setProperty动作(nameuseBean动作中的id):
    为对象设置属性值:<jsp:setProperty name="javaBean对象" property="javaBean对象属性名" value=http://www.hake.cc/kf/201109/""/>
    为对象设置属性值:<jsp:setProperty property="javaBean对象属性名" name="javaBean对象" param="username"/>
    (param="username" 相当于 value=http://www.hake.cc/kf/201109/<%=request.getParameter("username")%>)
     
    :param动作(传递参数)):
    到达跳转页面可以通过 request.getParameter(“参数名”)方式取出参数值
    <jsp:include page="转向页面的url" >
               <jsp:param   name="参数名1" value=http://www.hake.cc/kf/201109/"参数值1">

     

    <jsp:param   name="参数名2" value=http://www.hake.cc/kf/201109/"参数值2">
               ...........
     </jsp:include>
    :
    <jsp:forward page="转向页面的url" >
               <jsp:param   name="参数名1" value=http://www.hake.cc/kf/201109/"参数值1">
               <jsp:param   name="参数名2" value=http://www.hake.cc/kf/201109/"参数值2">
               ...........
    </jsp:forward>
     
    :forward动作:
    跳转页面:<jsp:forward page="login.jsp" />
     
    :plugin动作:<jsp:plugin>:用于指定在客户端运行的插件
     
    JSP三大指令之:
    :page指令:
    1.指定页面编码.:
    <%@ page language="java" contentType="text/html;charset=gbk" pageEncoding="gbk" %>
    2.导入包,:
    <%@ page import="java.util.*,java.text.*" %>.
    :include 指令
    静态包含(统一编译):<%@ include file="included.jsp"%>
     
    三:taglib
     
    三.Jsp中的静态包含与动态包含
    动态include(<jsp: include page="included.jsp"/>)
    静态include(<%@ include file="included.jsp"%>)
    1. 静态include的结果是把其他jsp引入当前jsp,两者合为一体,可以达到数据的共享即可以说是统一编译的,
    动态include的结构是两者独立,直到输出时才合并即为分别编译的.
    2.动态includejsp文件独立性很强,是一个单独的jsp文件,需要使用的对象,页面设置,都由自己创建,而静态include纯粹是把代码写在外面的一种共享方法,所有的变量都是可以和include它的主文件共享,两者高度紧密结合,不能 有变量同名的冲突.而页面设置也可以借用主文件的.
    3.动态包含总是检查被包含页面的变化,静态包含不一定检查被包含页面的变化.
    4.动态包含可带参数,静态包含不能带参数.(<jsp: include page="included.jsp">放入参数</jsp:include>);
     

  • 相关阅读:
    Jdbc 事务
    Spring
    【Java集合的详细研究1】Collections类常用方法总结
    Java Number类
    Java中值类型和引用类型的区别
    Java常量池的理解
    Java重写与重载之间的区别
    Java中Animal b = new Dog();Dog c = new Dog();的区别
    java类构造器的理解
    Javascript history pushState onpopstate方法做AJAX SEO
  • 原文地址:https://www.cnblogs.com/itzlg/p/11380707.html
Copyright © 2020-2023  润新知