• jsp


    jsp:
    lanuage脚本语言
    可以有多个page

    1、Jsp指令元素
        (1)、page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令
        例:<%@ page 属性1="属性值" 属性2="属性值1" ...属性n  =“属性n”>
        language:指定JSP页面使用的脚本语言  java
        import:通过该属性来引用脚本语言中使用到的类文件
        如:import="java.util.*"
        contentType:用来指定JSP页面所采用的编码方式   text/html,ISO-8859-1
        pageEncoding:编写页面的字符集
        (2)、include指令:将严格外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句。<%@include..%>包含其他文件
        (3)<%@taglib...%>:使用标签库自定义的一些标签,在JSP页面中启用定制行为。

    2、Jsp注释可以使用一下三种
    a.HTML的注释
    <!-- html注释-->//客户端可见

    b.JSP的注释
    <%-- 注释内容--%>//客户端不可见

    c.JSP脚本注释
        //单行注释
        /**/多行注释

    3.声明内容显示:<%!%>.....................%!感叹号必须加
    <%! String name="张三";%>
    姓名: <%=name%>

    4.声明方法:<%!%>.....................%!感叹号必须加
    方法一:有返回值
    <%! int add(int x,int y){
     return x+y;
    }
    %>

    sun= <%=add(3,4) %>

    方法二:无返回值
    <%! void adw(JspWriter out) throws Exception{
     out.println(5+6);}
    %>
    he=<% adw(out); %>


    关键字:
    action提交到那个位置


    jsp九大内置对象:


    5.out输出对象:
    out对象是JspWriter类的实例,是向客户端输出内容常用的对象 。作用域为page;
    常用方法:
    a.out.println()向客户端打印
    b.out.clear()清除缓冲区内容,flush之后会抛异常
    c.out.clearBuffer()清除缓冲区内容,flush之后不会抛异常
    d.out.flush()将缓冲区内容刷新到客户端
    f.(int )out.getBufferSize返回缓冲区字节数大小
    g.(int )out.grtRemaining()缓冲区还剩多少
    h.(boolean)out.isAutoFlush()返回缓冲区满时是否自动清空
    j.out.close()关闭输出流
    get比post效率高

    6.request请求对象:
    客户端的请求信息被封装在request对象中,通
    过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类
    的实例。作用域为request(用户请求期)。
    <%request.setCharacterEncoding("utf-8")%>..........设置字符编码

    a.String getParameter(String name)..................返回name指定参数的参数值?
    ?<%=request.getParameterValues(String?name);%>

    b.String[]?getParameterValues(String?name)........返回包含参数name的所有值的数组?
    <%String str=request.getParameterValues(String?name);
    for(String s:str){
     out.println(s);
    }%>

    c.处理post提交的乱码请求...........<%request.setCharacterEncoding("UTF-8")%>
    d.获取mimz:........................<%=request.getContentType() %><br>
    f.获取协议名:.....................<%=request.getProtocol() %><br>
    g.获取主机名 ......................<%=request.getServerName() %><br>
    h.获取端口号:.....................<%=request.getServerPort() %><br>
    i.获取文件长度:...................<%=request.getContentLength() %><br>  post提交才有值
    j.获取真实路径:...................<%=request.getContextPath() %><br>
    k.获取请求的上下文路径:...........<%=request.getRealPath("login2.jsp") %><br>
    l.设置键值与获取:
    <%request.setAttribute("person","xiaoli");%>
    ren: <%=request.getAttribute("person") %><br>

    7.response对象:
    代表的是对客户端的响应,也就是说可以通过response 对象来组织
    发送到客户端的数据。但是由于组织方式比较底层,所以不建议普通读者使用,需
    要向客户端发送文字时直接使用。它是HttpServletResponse类的实例。作用域
    为page(页面执行期)。
    重定向:.............response.sendRedirect("login1.jsp");//要跳转到login1.jsp页面,但不能获取到功能
    请求转发:...........request.getRequestDispatcher("login1.jsp");//到login1.jsp里面获取功能,过来不跳转到login1.jsp页面
    练习代码:
    <%
    response.setContentType("text/html;charset=utf-8");//作用是使客户端浏览器区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据
    out.println("你好");
    out.println("你好吗?");
    out.println("<hr>");
    //out.flush();
    PrintWriter outer=response.getWriter();//response.getWriter直接输出数据(response.print()),所以(out.print)只能在其后输出。 内置对象out的类型是JspWriter;response.getWrite()返回的类型是PrintWriter

    outer.println("welcome come here!<br>");

    response.sendRedirect("login1.jsp");//要跳转到login1.jsp页面,同页面里不能有out.flush()刷新;
    //request.getRequestDispatcher("login1.jsp");//到login1.jsp里面获取功能过来,不跳转到login1.jsp页面
    %>

    out.print()与out.println()区别:print()必须传参,println()可以不传参,显示结果没什么区别,println输出多一个空格;

    session
    application

    page
    pageContext
    exception
    config

  • 相关阅读:
    抽象类和接口
    truncate,delete和drop的区别
    PLSQL乱码问题
    Linux
    myEclipse闪退
    Java 中 Synchronized 的使用
    工厂模式
    Java中的File,IO流
    jQuery的学习
    C++中的标准模板库STL
  • 原文地址:https://www.cnblogs.com/tanghao666/p/7428995.html
Copyright © 2020-2023  润新知