第八周作业

jsp

一、指令:
  page、include、taglib三种指令,每种指令各自有属性。
  1、page指令:作用是整个jsp页面,常用属性:import、language  如:<%@ page language="java"%>、<%@ page import="java.util.Date"%>
  2、include指令:在jsp编译时,插入一个包含文本或代码的文件。这个包含的文件可以是jsp文件、html文件、文本文件。
                               <%@ include file="文件路径"%>
  3、taglib指令:声明此jsp文件使用了自定义的标签,同时引用标签库,也指定了他们的标签前缀
 
二、JSP脚本与注释
  1、JSP中的声明:定义变量(该变量作用域为该页面),以保存信息或定义jsp页面的其他部分可能需要的支持方法,若代码太多,通常写成一个独立的java类。
                               声明变量的两种方法:一种是在<%! %>内,一种是在代码片段内<% %>
                                在JSP声明中声明的JSP变量相当于全局变量,而在JSP代码段中声明的JSP变量则相当于局部变量。
  2、jsp表达式:<%= expression %>不能在末尾使用分号结尾
 
三、动作元素
  1、定义:用于控制执行某些动作的元素,例如动态插入文件、调用JavaBean、用户重定向等操作的代码标签
  2、JSP常见的动作元素:<jsp:include >:在页面被请求的时候引入一个文件;<jsp:useBean >:寻找或实例化一个javaBean;<jsp:setProperty >:设置javaBean的属性;<jsp:getProperty >:输出某个javaBean的属性;<jsp:forward >把请求转到一个新的页面;<jsp:plugin >:根据浏览器类型为java插件生成OBJECT或EMBED标记;<jsp:params >:不同页面之间传递参数;
  3、param元素,使用此元素时:<jsp:param name="传递参数的名称" value="<% 传递参数的值 %>">
  4、include元素:<jsp:include page="includedate.jsp" flush="true"></jsp:include>此标签与<%@ include file="文件路径"%>不一样,前者包含的内容可动态改变,后者一经编译,就不能改变
  
四、JSP内置对象
  1、request对象:几种常用方法:处理文字乱码setCharacterEncoding("utf-8"),返回给定参数的值:getParameter(""name),在进行请求转发时,使用setAttribute()方法设置数据在request范围内存取,设置转发数据:setAttribute(“key”,Object),在转发后的页面取数据getAttribute(String name)
   2、response对象:sendRedirect(String URL)将客户端的响应重定向到指定的URL,在缺省情况下,服务器会将输出的内容先写到一个输出缓冲区
  3、Cookie和Session对象:Cookie是一段文本信息,伴随着用户请求和页面在web服务器和浏览器之间传递。Session对象:当客户第一次访问JSP页面时,Tomcat会自动创建一个Session对象,用来存储客户在访问各个页面提交的各种信息,一个Session对象对应一个访问客户,setAttribute(String name,Object value)将value对象以name名称绑定到对话。
  4、application对象:创建一个所有用户在不同的页面都能共享的变量,直到服务器关闭,对象才消失
  5、拓展练习:多项选择:<input type="checkbox" name="fruit" value="banana">banana  <input type="checkbox" name="fruit" value="apple">apple
                         单项选择:<input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女
                         下拉框选择内容:<select name="city">
                                                                      <option value="北京">北京</option>
                                                                      <option value="上海">上海</option>
                                                     </select>
五、JSP与JavaBean
      jsp主要完成与用户交互的数据提交及显示功能,JavaBean组件用于完成数据的运算,数据库的读写等操作
      JavaBean可分为两种:一种是有用户UI界面的JavaBean组件,例如java中的Swing组件;另一种是没有用户界面,主要负责处理事务(例如数据运算,数据库操作)使用的JavaBean
      JavaBean是从JSP页面分离出来的java代码,是JSP页面的动态部分
      JavaBean其实只是个普通的class类,只是满足一些额外的约定:属性都是private私有的,都得用get和set方法
   1、在JSP中使用JavaBean                                            
       <jsp:useBean id="sb" class="class name" scope="范围"/></jsp:useBean> <% sb.setName("linna");sb.setPassword();%>
   2、JavaBean作用域:
      总共有四个作用域:page, request, session, 和 application,缺省的是page属性,表明此bean只能应用于当前页(保存在当前页的PageContext 中);request属性表明此bean只能应用于当前的用户请求中(保存在ServletRequest对象中);session属性表明此bean能 应用于当前HttpSession生命周期内的所有页面;application属性值则表明此bean能应用于共享ServletContext的所有 页面。需要注意的是,当没有具有相同的id和scope对象时,一个jsp:useBean 实体只能作用于一个新的例示中,反之,则作用于以前的对象。
  3、获取和设置属性:
      可以通过set和get方法,同样可以通过动作元素setProperty来设置
  4、MVC模型:model层主要用于实现业务逻辑,主要负责存储与应用程序相关的数据,主要由JavaBean来实现;View层用于与用户交互的界面,主要由JSP完成;Controller层主要负责model和view之间的控制关系,由servlet技术来完成。
原文地址:https://www.cnblogs.com/linnaf5/p/5426107.html