24@Servlet_day05

1、什么是jsp?

  java sever page(java服务器端页面技术)
  sun公司制订的一种服务器端动态页面生成技术规范。因为直接使用servlet生成动态页面过于繁琐,而且很难维护(使用out.println方式),所以才会有jsp这样一种规范。

 


2、如何写一个jsp?

  step1 写一个以.jsp为后缀的文件
  step2 在该文件当中,添加如下的代码:
    1) html(css,js):直接书写
    2)java代码
      a, java代码片断
        <%  java代码   %>    
      b, jsp表达式
        <%= java表达式 %>
    3)隐含对象
      在jsp文件中,可以直接使用的对象。
      因为服务器在生成的servlet类里面已经包含了创建该对象的代码,所以可以直接使用这些对象,包括:
        out
        request
        response
    4)指令
      通知服务器,在将.jsp文件转换成.java文件时,做一些额外的处理,比如导包。
      a,语法:
        <%@指令名称 属性名称=属性值%>
      b,page指令
        import属性: 导包
          比如:
            <%@page import="java.util.*"%>
            <%@page import="java.util.*,java.text.*"%>
        pageEncoding属性:告诉容器,.jsp文件保存时的编码。因为容器需要读取.jsp文件,将其转换成.java文件,所以,需要明确告诉容器.jsp文件的编码,否则,在解码时,可能会出错。
        contentType属性:设置response.setContentType的内容。


3、jsp是如何执行的?

  step1 服务器要将.jsp文件转换成一个.java文件(其实就是一个servlet)。
    a, html(css,js)  -----> 放在service方法里,使用out.write输出。
    b, <%   %>        ------> 放在service方法里,照搬。
    c, <%=  %>       ------->放在service方法里,使用out.print输出。
  step2 服务器调用这个servlet的service方法。


4、转发

  1)什么是转发?
    一个web组件(servlet/jsp)将未完成的处理通过容器转交给另外一个web组件继续完成。
    最常见的情况:
      一个servlet获得数据之后,转发给一个jsp来生成相应的界面。
  2)编程
    step1 绑订数据到request上。
      request.setAttribute(String name,Object obj);
      //依据绑订名name返回绑订的值。如果绑订名对应的值不存在,返回null。
      Object obj= request.getAttribute(String name);
      //解除绑订
      request.removeAttribute(String name);
    step2 获得转发器
      RequestDispatcher rd = request.getRequestDispatcher(String url);
      url:转发的目的地。
    step3 转发
      rd.forward(request,response);
      需要注意:
        转发之前,会清空response中缓存的数据。
        转发之前,不能够调用out.close,out.flush,否则出错。
  3)特点
    a,转发的地址必须是同一个应用内部的某个组件的地址。
    b,转发之后,浏览器的地址栏的地址不变。


练习:
  完成“员工管理”,要求:
    a, 日期动态生成
    b, 添加员工页面添加表单验证,要求姓名、薪水、年龄不能为空。

posted @ 2012-05-25 20:02  笑仁术Rex  阅读(165)  评论(0编辑  收藏  举报