jsp学习笔记一

来源:互联网 发布:白手面板算法 编辑:程序博客网 时间:2024/06/05 10:22
1.jsp(动态页面技术)
    java server page java服务器页面技术
    jsp包括了静态和动态两部分,运行于服务器中
    html中包含了java代码,必须运行在服务器,以完成翻译,编译,运行的过程,最后返回html给客户端

    最后生成 java, class文件都是放在 tomcat的work目录下
    work/Catalina/localhost/项目名/org/apache/jsp/页面名_jsp.java 而且这个java文件是一个final类
    
2.jsp页面的结构(页面元素)
    静态部分:html,css,JavaScript(包含注释)
    动态部分:jap元素(java相关)
        1.指令
            编译指令:只在编译时起作用,不会有任何输出(import,包含一个小模块,导入标签库)
                <%@ page 属性名="值"%>导入的类的说明,编码集
                <%@ include file="文件名.jsp"%>包含另一个页面(公用的模块)《静态包含指令》
                <%@ taglib prefix="前缀名" uri="定义标签地址" %>导入标签库
            动作指令:
                <%jsp:include %>
                <%jsp:forward %>
                <%jsp:param %>
        2.脚本:逻辑,业务,输出
            小脚本
                <% java代码%> 逻辑和业务操作
            声明:(定义的是全局变量)<%! //在声明中只能有全局变量定义,及方法的定义int j=0;%>
            
            表达式<%=值 %> 输出

        3.注释
            <!--html注释:是会返回到客户端浏览器上取得,即要耗流量的,对静态代码使用方法注释-->
            <%--服务器注释 ,只在服务器中有,不耗流量--%>

        4.九大内置对象(重点)

            out
            seesion
            request
            application
            response



jsp页面中的跳转方式:(判断方式通常是看地址栏)
    1.客户端重定向
        response:响应对象 将客户端的响应信息封装
            response.sendRedirect("地址");
            a.地址栏中的地址是最后一个页面地址(url会改变)
            b.请求的参数无法传递到后面的页面
            c.可以跳到外部站点
            d.两次请求
            e.执行完所有代码再跳转到目标页
    2.服务器端转发
        request.getRequestDispatcher("地址").forward(request,response);
        a.请求的页面(url不变)
        b.可以传递参数到后面的页面
        c.无法访问外部站点
        d.仅发送一次请求
        f.直接跳转到目标网页,其后代码不再执行


3.作用域对象:
    客户端:Cookie
        :是服务器写在客户端的浏览器中的一个文本文件。键值对
        Cookie c=new Cookie();
        c.setAttribute("键盘",值);
        response.addCookie(c);

    Cookie[] cs= request.getCookies();
    安全性:不是所有的浏览器都支持Cookie
        request。setAttribute("键","值")
0 0