jsp (1)

一、jsp介绍:

  jsp是servlet的一种包装。是html+js+css+servlet。

  jsp文件无需配置,如果修改了jsp文件不需要reload应用。

  jsp访问方法:直接访问文件名.jsp文件

  jsp是一种动态网页技术。

二、语法:

  注释:<%-- --%>

  1、指令元素:

    (1)page指令:

        

           

            <%@ page language="java" contentType="text/html; charset=ISO-8859-1"  pageEncoding="ISO-8859-1"%>

        (2)include指令:

            用法:<%@include file="filename" %>

  2、脚本元素:

     

 

    (1)表达式:

        java片段:

         <%=100%>

        <%= %> //相当于out.println()

    (2)声明:

      <%! int i=90;%>

      声明变量:

        <%! public int i;%>

      声明函数:

        <%! public int info(){} %>

    (3) 动作元素:

      跳转元素:<jsp:forward page="/he.jsp"></jsp:forward>

      动态引入:<jsp:include file=''></jsp:include>

      与静态引入区别:静态引入是将两个jsp文件翻译成一个servlet,所以被引入的文件不要包含<body><html>等标签。

            但动态引入不同,把两个jsp文件分别编译,所以被引入的可以包含<html>等标签。

  3、开发规范:开发的jsp页面不能放在web-root下,而是应该放到web-inf文件夹下去(Tomcat会对web-inf文件夹进行保护)因此用一个入口页面的                         jsp:forward方法来访问。 

 

三、jsp的编译指令:

  1、page指令:

      

  2、include指令:

    <%@include file="" %>

   用于静态引用其他的文件。

四、动作指令:

  1、jsp:forward :用于执行页面跳转。

五、jsp九大内置对象:

  1、application 是javax.servlet.ServletContext的实例。

    

  2、config:用得少,可以不用了解。

  3、exception:

  4、out:javax.servlet.jsp.JspWriter()的实例,代表jsp页面的输出流。

  5、request:HttpServletRequest的实例。

    

1 getparameter(String paramatername) //获取其中一个参数的值
2 getParameterMap()  //获取所有的参数的键值对

 

 

 

  

1 getRequestDispatcher("/a.jsp").include(request,response) //将a.jsp页面include到本页面
2 
3 getRequestDispatcher("/a.jsp").forward(request,response) //将本页面请求forward到a.jsp页面,执行跳转操作

 

 

 

  6、response:HttpServletResponse的实例。

     (1)执行重定向操作:

        一般情况下重定向操作是在控制器中执行的。

        sendRedirect(String path)

     (2)增加cookie信息:

        

 1 //服务器端代码

 2 Cookie c=new Cookie("cookiename",name); //新建cookie,名字,值

 3 c.setMaxAge(24*3600);
 4 response.addCookie(c);
 5 
6 //客户端代码 7 8 //获取浏览器访问访问服务器时传递过来的cookie数组 9 Cookie[] cookies = request.getCookies(); 10 //如果用户是第一次访问,那么得到的cookies将是null 11 if (cookies!=null) { 12 out.write("您上次访问的时间是:"); 13 for (int i = 0; i < cookies.length; i++) { 14 Cookie cookie = cookies[i]; 15 if (cookie.getName().equals("lastAccessTime")) { 16 Long lastAccessTime =Long.parseLong(cookie.getValue()); 17 Date date = new Date(lastAccessTime); 18 out.write(date.toLocaleString()); 19 } 20 } 21 }else { 22 out.write("这是您第一次访问本站!"); 23 }

 

 

 

  7、session:HttpSession的实例,代表了一次会话。

    (1)一次会话:指客户端浏览器连接服务器开始,到客户端浏览器与服务器断开连接为止,就是一次会话。

    (2) 1 常用方法:

2 setAttribute(String name,Object value)

3 getAttribute(String name) 

       (3)注意:

          session存在的目的主要是说为了保存与用户会话状态相关的信息。如果仅仅为了两个页面之间交换信息的话,可以将数据保存在request中进行传递。

          而且要求session的属性值必须是序列化的对象,否则保存会出现错误。

   

 

posted @ 2018-06-22 22:08  monty12  阅读(116)  评论(0编辑  收藏  举报