• JSP


    JSP表达式  

    JSP表达式用来把Java数据直接插入到输出。其语法如下: <%= Java Expression %> 

    计算Java表达式得到的结果被转换成字符串,然后插入到页面。例如,下面的代码显示页面被请求的日期/时间: 
    time: <%= new java.util.Date() %> 

    为简化这些表达式,JSP预定义了一组可以直接使用的对象变量。后面我们将详细介绍这些隐含声明的对象,但对于JSP表达式来说,最重要的几个对象及其类型如下: 
    request:HttpServletRequest; 
    response:HttpServletResponse; 
    session:和request关联的HttpSession 
    out:PrintWriter用来把输出发送到客户端 


    JSP 中的注释
     (1) HTML 注释:在标记符号“<!--”和“-->”之间加入注释内容
     (2) JSP 注释:在标记符号“<%--”和“--%>”之间加入注释内容

    内置对象

      在JSP容器中生成的Servlet类的_jspService()方法中,定义了几个对象,在编写JSP页面时我们可以使用这些隐含对象。

    PageContext pageContext = null;
        HttpSession session = null;
        ServletContext application = null;
        ServletConfig config = null;
        JspWriter out = null;
        Object page = this;
        JspWriter _jspx_out = null;
        PageContext _jspx_page_context = null;

    注意:上面的代码没有exception内置对象,只有当页面的page指令的isErrorPage属性为true才会使用exception对象。

    application对象

      在JSP中设置属性和对应的值:

    <html>
        <head>
                <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
                <title>在此处插入标题</title>
        </head>
        
        <body>
    
        <%
            application.setAttribute("name", "zhangsan");
        %>
        </body>
        
    </html>

    在Servlet中利用ServletContext对象的getInitParameter()方法即可获取该属性值:

     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
        {
        System.out.print(this.getServletContext().getInitParameter("name"));
        }

    out对象

      out对象以字符流的形式输出数据,实际上是PrintWriter对象的带缓冲的版本,可以通过page指令的buffer属性来调整缓冲区的大小。

      所有使用out的地方都可以使用输出表达式来代替,<%= ...%>表达式的实质就是out.write(...)。

    session对象

      session对象代表一次用户会话(从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开为止),session通常用于跟踪用户的会话信息,如判断用户是否登录系统或者跟踪用户购买商品信息等。

            String getId();       //获取session的ID    
            long getCreationTime();//   获取session的生成时间    
            void invalidate();    // 清空session内容    
         

    表单使用Post方式提交后接收到的乱码问题

    A 接受参数时进行编码转换
    String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8")  
    B 在请求页面上开始处,执行请求的编码代码, request.setCharacterEncoding("UTF-8") 
    String str = request.getParameter("something")
    C 为了避免每页都要写request.setCharacterEncoding("UTF-8")

  • 相关阅读:
    Chrome浏览器网页截全屏算法以及实现
    去除scons构建动态库的前缀lib
    Javascript的继承
    win7 VS2008 ffmpeg release 版本崩溃 0x00905a4d 处未处理的异常
    shell脚本获取随机数random
    iOS navigationbar添加实现
    TableView中改变Button按钮状态
    将TableView的中的Label和Cell行数绑定
    build diff: /../Podfile.lock: No such file or directory
    initramfs-tools ... update-initramfs: Generating /boot/initrd.img-3.14-kali1-amd64 mktemp: failed to create directory via template `/var/tmp/mki
  • 原文地址:https://www.cnblogs.com/wjk921/p/4947936.html
Copyright © 2020-2023  润新知