JSP(1)jsp简介、文件结构、加载过程、常用内置对象(out request Response等)

1JSP简介

  • 由于在开发过程中,使用Servlet做界面非常不方便,所以出现了JSP技术。
  • jsp技术允许在页面中嵌套java代码,为用户提供动态数据。
    JSP = html+java片段+jsp标签(语法)+JavaScript(CSS)。
  • JSP的基础是Servlet。
    不管是JSP还是Servlet,都可以用于开发动态web资源。但由于这两门技术各自的特点,在长期的软件实践中,人们逐渐把Servlet作为web应用中的控制器组件来使用,而把jsp技术作为数据显示模板来使用。
  • 因此在软件开发中,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做。
  • 注意:jsp文件不能放在src目录下

2jsp结构介绍


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'index.jsp' starting pagetitle>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    
    <meta http-equiv="description" content="This is my page">

    
  head>
  <body>
    This is my JSP page. <br>
    <% 
        // 在 <% 之间可以使用java代码
        out.println("hello world! 时间:" + new Date().toString()); 
    %>
  body>
html>

3jsp加载过程

如果第一次访问该jsp文件:web服务器会把index.jsp翻译成一个Servlet,再将其编译成一个.class文件,然后再把class加载到内存;如果是第二次或者以后,就直接访问内存,因此jsp也是单例的,所以第一次访问时会很慢
如果某个jsp文件被修改了,就相当于重新访问该jsp文件。
这些文件的目录为:tomcat6.0\work\Catalina\localhost\web应用名\org\apache\jsp

jsp文件报错会报错到对应的servlet文件中。

4 jsp九大内置对象

①out 向客户端输出数据,字节流
②request 接收客户端http请求<—–>servlet中的HttpServletRequest

getParameter(String name); // name为表单的参数名
getParameterValues(String name); // 使用得到是String[]
setAttribute(String name, Object obj); // 设置名字为name的obj,值为obj
getAttribute(String name); //返回name指定的属性值,如果不存在则返回null
getCookie();

③response 封装jsp的产生的回应

addCookie(Cookie cookie);
sendRedirect("./welcom.jsp");

④session 用于保存用户的信息,跟踪用户的行为

setAttribute(String name, Object obj);
getAttribute(String name);

⑤application 多个用户共享该对象,可以做计数器—ServletContext
⑥pageContext 代表jsp页面的上下文,也是一个域对象,可以setAttribute(),作用范围只是本页面
⑦exception 代表运行时的一个异常

getMessage();

⑧page 代表jsp这个实力本身–使用比较少
⑨config 代表jsp对应的servlet的配置,可以得到web.xml中的参数 —–ServletConfig

你可能感兴趣的:(JSP)