Java Web基础回顾 —JSP

  1. tomcat server.xml 修改Host 添加Context节点。(todo)
  2. JSP 会被编译成.class,所以JSP也就是特殊的一种servlet。
    request—> *.jsp —> *.java —> *.class —> response
  3. JSP声明的格式:<%! int a = 3; %>
    脚本端的形式:<% int b = 3; %> ,当服务器将JSP转换为servlet时,会将JSP中的声明转换为类的 成员变量,而将脚本端转换为方法中的 局部变量,Servlet是单实例的,这样成员变量的值就只有一个,每个用户都会访问到它,而脚本端的值则是 局部变量,每个用户访问的时候各有一份,互不影响。
  4. jsp:forward指令用于转向页面( 服务器跳转),在该指令后面的所有代码都没有机会执行的,因为页面的流程已经转向另外一个页面了。
  5. jsp:include包含一个静态或动态文件,可以传递参数。
  6. JSP九种内置对象:
    • request: 请求对象
    • response: 响应对象
    • pageContext: 页面上下文对象
    • session: 会话对象
    • application: 应用程序对象
    • out: 输出对象
    • config: 配置对象
    • page: 页面对象
    • exception: 异常对象
  7. request:来自客户端的请求。
    getParameter、getParameterNames、getParameterValues
    setAttribute、getAttribute方法都是成对出现的,且都是在服务器端内部执行的,与客户端无关。
    getParameter方法是获取到客户端通过表单或URL请求参数所发出的参数,服务器端通过该方法来获取表单里面的值。 没有setParameter方法。
  8. session:服务器与客户端所建立的会话。当需要在不同的JSP页面中保留客户信息的情况下使用。
  9. application:应用对象,存活范围最大的对象,只要服务器没有关,application对象中的数据就一直存在, 在整个服务器运行过程中,application对象只有一个。
  10. re-direct:重定向
    forward:请求转发,JSP可以,servlet自然也是可以的。
  11. application.getRealPath() 可以返回资源在服务器上的绝对路径。
  12. <input type=“ hidden” name=“” value=“”> 这个是跨两个request的时候,可以保证值在两个request传递,可以替代session。
  13. HttpServletResponse对象的 sendRedirect( String location )方法称作重定向,如果location地址前面加”/“,则表示相对于Servlet容器根来请求,即http://localhose:8080。如果location地址前没有加上”/“,则表示相对于当前请求的URI来寻找地址。
  14. RequestDispatcher的forward(request, response) 称作请求转发
  15. 请求转发与重定向的区别:
    1)请求转发,整个过程处于同一个请求当中。
    2)重定向,实际上客户端会向服务器端发送两个请求,第一个请求servlet,第二个请求请求重定向的页面。
    3)RequestDispatcher是通过调用HttpServletRequest对象的getRequestDispatcher()方法得到的,是属于请求对象的方法。
    4)sendRedirect()是HttpServletResponse对象的方法,即响应对象的方法,那就表明整个请求过程已经结束了,服务器开始向客户端返回执行结果。
原文地址:https://www.cnblogs.com/nextStep/p/6694659.html