zoukankan      html  css  js  c++  java
  • JSP学习2

    include指令和include动作的区别如下:

    1、include指令是把其他页面的Java代码(源码)加载进来,跟本页面的代码合并在一起,相当于把源代码从原页面复制到本页面来,然后再编译。由于本页面在编译时已经包含了别的文件的源代码,所以以后其他页面更改时,本页面并不理会,因为已经编译过了。<%@include file="..." %> 编译时包含  静态 JSP引擎将对所包含的文件进行语法分析。

    2、include动作是指两个页面的代码运行完以后,再把包含的那个页面运行后的HTML结果页面,加到本页面运行后的HTML结果页面中来,所以是运行时包含,并且还可以传递参数给被包含的页面。

    <jsp:include page="" /> 运行时包含 静态和动态  JSP引擎将不对所包含的文件进行语法分析。

    <jsp:forward>

    <jsp:forward>用于在服务器端结束当前页面的执行,并从当前页面跳转到其他指定页面,转向的目标页面可以是静态的HTML页面、JSP文件或Servlet类。这个元素的使用语法和<jsp:include>类似。

    <jsp:forward>既可以带参数,也可以不带参数。

    <jsp:forward>操作典型的使用就是登录,如进行权限验证的页面。当验证通过后,就把页面forward到登录成功页面;当验证不通过时,就把页面forward到登陆页面。

    <jsp:param>

    主要用来传递参数给JSP程序。<jsp:param name="user" value="<%=name%>"/>     接收:<%=request.getParameter("user")%>

    使用<jsp:param>元素来传递参数,在JSP程序中则是通过如下的程序代码来取得此参数的值,这与取得用户输入数据的方式相同,是通过使用预设对象request的getParameter()方法来取得<jsp:param>所设置的参数值。request.getParameter("attributeName");

    <jsp:param>操作元素的使用必须配合<jsp:include>、<jsp:forward>及<jsp:plugin>等元素,在加载外部程序或是网页转换的时候,传递一个参数给另一个JSP程序。

    JSP内置对象

    request、response、application、session、out、config、pageContext、page、exception。

    request让服务器取得用户在网页表单所输入的数据内容。

    response则提供服务端程序响应客户端信息所需要的功能。

    session和application对象基本上用于记录和处理JSP网页之间的共享数据。

    config包含JSP网页文件被编译称为servlet之后的相关信息。

    pageContext则是提供系统运行期间各种信息内容的存取操作功能。

    page代表目前正在运行的JSP网页对象。

    exception为JSP提供用于处理程序运行错误的异常对象。

    response

    setHeader可以设置HTTP应答报文的首部字段和值;利用setHeader()方法可以设置页面的自动刷新。

    例如:

    response.setHeader("Refresh","5");//5秒钟后自动刷新本页面

    response.setHeader("Refresh","5;URl=http://www.163.com");//5秒钟后自动跳转到新页面。

    <%@page language="java" contentType="text/html;charset=gb2312"
        import="java.util.*"%>
    <HTML>
    <HEAD>
    <TITLE>response应用实例</TITLE>
    </HEAD>
    <BODY>
        <%
            out.println("当前时间为:" + new Date().toLocaleString() + "<br>"); //获得当前时间
            out.print("此刻抽取的幸运数字是:" + (int) (Math.random() * 10000));
            response.setHeader("refresh", "1"); //设置每1秒刷新一次刷新
        %>
    </BODY>
    </HTML>

    1、response.sendredirect()会在客户端呈现跳转后的URL地址,这种跳转称为客户端跳转。使用response.sendredirect()方法将重定向的URL发送到客户端,浏览器再根据这个URL重新发起请求。所以用这个方法时,在浏览器地址栏会看到新的请求资源的地址。并且这时的request和reponse都与第一次的不一样了,因为产生了新的request和reponse。

    2、使用<jsp:forward>完全是在服务器上进行,浏览器地址栏中的地址保持不变,这种跳转称为服务端跳转。没有产生新的request和reponse,保持不变,在同一个请求内可以用request来传递参数。

    3、response.sendredirect()方法想带参数的话,在地址中写成xxx.jsp?param1=aaa&这种形式传递参数。<jsp:forward>能够使用<jsp:param />标签向目标文件传递参数和值,目标文件必须是一个动态的文件,能够处理参数。

    3、<jsp:forward />后面的语句不会继续执行,也不会继续发送到客户端;response.sendredirect()方法后面的语句会继续执行,除非语句前有return。

    建立session变量

    在JSP中不需要特别设置程序代码来建立用户session,当程序使用了session对象时,便会自动建立session。

    session.setAttribute("变量名称",变量内容)

    变量内容可为字符串或者其他对象类型,接着再来看看如何使用这个方法在session中设置变量数据:

    <%

    session.setAttribute("id",“编号”); //设置字符串

    session.setAttribute("expire",new Date(86400*10));//设置日期

    session.setAttribute("level",new Integer(3)); //设置整数 

    %>

    在session中设置了变量数据后,在其他各个网页中便可以使用getValue读取其中的内容,此方法所返回的数据类型为对象(Object)类型。

    获取:

    session.getAttribute(“变量名称”);

    返回所有session中的变量名称

    session.getAttributeNames();

    清除session中的变量

    session.removeAttribute("变量名称");

    结束session

    session.invalidate();

  • 相关阅读:
    php 23种设计模型
    PhpStrom 常用的插件
    PhpStrom 好用的代码小地图插件
    php 23种设计模型
    phpstrom怎样显示类的方法或函数列表
    超好用的谷歌助手插件
    PhpStrom 好用的翻译插件
    php 23种设计模型
    【java】匿名对象
    【java】类的初识
  • 原文地址:https://www.cnblogs.com/hengx/p/14127456.html
Copyright © 2011-2022 走看看