zoukankan      html  css  js  c++  java
  • jsp笔记

    jsp语法

    <% %>java 代码块
    <%= %>java表达式
    <! >类声明
    jsp的初始化需要在类声明中重写jspInit方法
    public void jspInit(){
    	// 初始化代码
    }
    

    jsp导入页面

    • jsp静态导入页面
    <%@include file="1.jsp"%>                    <!--导入页面-->
    
    <jsp:include page="1.jsp"></jsp:include>     <!--通过jsp命令 导入页面 -->
    
    • jsp动态的导入页面
      被加载的页面通过 request.getParameter(""); 获取参数
    	<jsp:param name="" value="">			<!-- 传递参数 -->
            <jsp:include page="1.jsp">
    			<jsp:param name="name" value="张三">
    		</jsp:include>
    

    请求转发与重定向

    • 页面转发 服务端跳转服务器页面跳转

    特点

    • 地址栏不会变
    • 请求参数不会丢
    • 浏览器发出一次请求,得到一次响应
    request.getRequestDispatcher("1.jsp").forward(request,response);*
    
    	2. <jsp:forward page="1.jsp">	<!--可以很方便的传递参数 但是有中文时会乱码 需要设置request.setCharacterEncoding("UTF-8");-->
    		<jsp:param name="name" value="张三"> <!--传递参数-->
    	   </jsp:forward>
    
    • 重定向 客户端跳转(服务器状态码:302)
      特点
    • 地址栏会变
    • 请求参数丢失
    • 浏览器发出二次请求,得到二次响应
    <%response.sendRedirect("2.jsp");%>
    

    无论是RequestDispatcher.forward 方法,还是HttpServletResponse.sendRedirect方法,在调用它们之前,都不能有出到了客户端。如果缓冲区中已经有了一些内容,这些内容已经被实际输内容将被从缓冲区中清除。

    jsp的四大作用域

    • pageContext 作用域当前页
    • request 作用域一次请求中
    • session(会话) 作用域再一次会话中
    • application 作用域应用程序中

    方法:

    • setAttribute 添加数据("key","vakye")
    • getAttribute 获取数据("key")
    • removeAttribute 删除数据("key")

    jsp中的9个内置类

    1. repuest -请求 -javax.servlet.http.HttpServletRequest

    解决中文乱码的方式

    post

        post  request.setCharacterEncoding("UTF-8");
           setCharacterEncoding("UTF-8");
    

    get

    URLEncoder.encode("str","编码格式");//对字符串编码
    URLDecoder.decode("str","解码格式");//对字符串解码
    

    jsp静态资源访问

    request.getContextPath(); //返回项目web的根目录 /web
    

    传递参数

    request.setAttribute("String",Object);
    
    2. response
        -响应
        -javax.servlet.http.HttpServletResponse
    
    3. session
        -会话
        -javax.servlet.http.HttpSession
    
    4. out -输出信息 - javax.servlet.jsp.JspWriter
    5. pageContest -当前页面 -javax.servlet.jsp.PageContext
    6. application -应用程序 -javax.servlet.ServletContext
    7. config -配置 -javax.servlet.ServletConfig
    8. exception -异常
    9. page -相当于this

    jsp:Cookie

    • Cookie 不支持中文 所以在存储中文的信息时 需要进行编码
    • 一个cookie只能以key(String)-value(String)的形式 存储一条信息
    • 创建一个新的cookie:
    Cookie cookie = new Cookie("username", 
    
    • 设置cookie的生命周期:
    cookie1.setMaxAge(int i);
    i = 0 :	代表立即删除
    i > 0 :	代表存在i秒的时间
    i < 0 : 代表会话结束后结束(默认)
    
    • 添加cookie:response.addCookie(cookie2);
    • 获取cookie:Cookie[] cookies = request.getCookies();]]
    //获取请求头信息
    Enumeration<String> handerNames = request.getHeaderNames();
    while(handerNames.hasMoreElements()){
        String name = handerNames.nextElement();
        String value = request.getHeader(name);
    }
    
  • 相关阅读:
    RDS MySQL 空间问题的原因和解决
    debian8最小化安装,字符界面的中文配置
    ekho安装及测试(中文文字转语音)
    sqlite 常用命令
    记录一次并没有什么用的对比测试
    debian 8 解压安装mysql(版本5.7.19)
    收藏的书录,值得花时间去读的书
    shell脚本监控Linux系统的登录情况
    gcc cc1: all warnings being treated as errors
    FreeSWITCH取消Digest校验流程
  • 原文地址:https://www.cnblogs.com/yuing/p/8603032.html
Copyright © 2011-2022 走看看