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")

原文地址:https://www.cnblogs.com/wjk921/p/4947936.html