• 第七周学习记录


    这周主要学习了JSP指令、标签使用与开发模式。

    JSP学习

    • page指令
    • include指令
    • taglib指令

    page指令

    定义JSP页面的各种属性,最好放在整个JSP页面的起始位置。

    <%@ page
        [language="java"]
        [extends="package.class"]
        [import="{package.class|package.*}",....]
        [session="true | false"]
        [buffer ="none | 8kb | sizekb"]
        [autoFlush="true | false"]
        [isThreadSafe="true | false"]
        [info="text"]
        [errorpage="relative_url"] //设置错误处理页面,全局处理错误配置,在web.xml中设置<error-page>,全局处理优先级较低
        [isErrorPage="true | false"]
        [contentType="mimetype[charset=characterSet]"|"text/html;charset=ISO-8859-1"]
        [pageEndcoding="characterSet | ISO-8859-1"]
        [isELIgnored="true | false"]
    %>
        
        
    

    include指令(静态包含(编译时包含),它包含的所有jsp会编译成一个servlet)性能比动态的好

    <%@include file="/pubic/head.jsp" %>
    aaaaaa<br />
    <%@include file="/pubic/foot.jsp" %>
    

    动态包含(几个jsp编译成几个servlet)运行时包含

    <%
        request.getRequestDispacher("/pubic/head.jsp").include(request,response);
        request.getRequestDispacher("/pubic/foot.jsp").include(request,response);
    %>
    

    9大隐式对象

    • request
    • response
    • session
    • application
    • config
    • page
    • out
    • exception
    • pageContext

    pageContext对象

    JSP技术中最重要的一个对象,代表JSP页面的运行环境。

    • 封装了对其他8大隐式对象的引用
    • 自身是一个域对象,可以保存数据
    • 还封装了web开发中涉及的一些常用操作,引入和跳转其他资源、检索其他域对象的属性。

    JSP标签(动作元素)

    常用标签:

    - <jsp:include>标签:包含
    - <jsp:forward>标签:转发
    - <jsp:param>标签:传递参数
    

    JavaBean与JSP

    JSP技术提供关于JavaBean组件的动作元素,即JSP标签。

    - <jsp:useBean>:实例化Javabean,userBean标签的标签体只在userbean标签实例化bean时执行
    - <jsp:setProperty>:设置JavaBean属性
    - <jsp:getProperty>:获取JavaBean属性
    

    jsp开发模式

    • jsp+JavaBean:不太复杂的web应用程序
    • servlet+JSP+JavaBean(MVC模式):适合开发复杂的web应用;servlet负责处理用户请求,jsp负责数据显示,Javabean负责封装数据。

    EL表达式

    EL表达式用于获取数据,${标识符},用EL表达式取数据时,通常用.号,其次用[]号。

    <%
    	  	Person p1=new Person();
    	  	Address a=new Address();
    	  	a.setCity("上海");
    	  	p1.setAddress(a);
    	  	
    	  	request.setAttribute("p1", p1);
    	   %>
    	   ${p1.address.city }
    	   
    	   <%
    	   	List list=new ArrayList();
    	   	list.add(new Person("aaa"));
    	   	list.add(new Person("bbb"));
    	   	list.add(new Person("ccc"));
    	   	
    	   	
    	   	request.setAttribute("list", list);
    	    %>
    	    ${list[1].name }
    	    
    	    <%
    	    Map map=new HashMap();
    	    map.put("aa",new Person("aaaaaa"));
    	    map.put("bb",new Person("bbbbbb"));
    	    map.put("cc",new Person("cccccc"));
    	    map.put("dd",new Person("dddddd"));
    	    map.put("ee",new Person("eeeeee"));
    	    request.setAttribute("map", map);
    	     %>
    	     ${map.aa.name }
    	     
    	     <!-- 获取当前应用的名称 -->
    	     ${pageContext.request.contextPath }
    	     <a href="${pageContext.request.contextPath }/index.jsp">aaaa</a>
    

    jstl标签库

    • 1.导入jstl.jar和standard.jar;
    • 2.使用<%@ tablib url="" prifix=""%>

    jstl常用标签

    - <c:foreach var="" items=""> 迭代
    - <c:if test="">
    

    注意的问题

     1. <jsp:include>标签和<@ include>指令的比较:
    
        <jsp:include>标签是动态包含,会将涉及到所有的包含的JSP翻译成各自的Servlet,而这些Servlet会在执行时合并。
    
        <@ include>指令是静态包含,所有的JSP页面只会被翻译成一个Servlet。
    

    2.数据需要精确运算时使用BigDecimal
    在使用BigDecimal类来进行计算的时候,主要分为以下步骤:

    • 用float或者double变量构建BigDecimal对象。
    • 通过调用BigDecimal的加,减,乘,除等相应的方法进行算术运算。
    • 把BigDecimal对象转换成float,double,int等类型。
    BigDecimal a = new BigDecimal(Double.toString(0.48));
    BigDecimal b = BigDecimal.valueOf(0.48);
    

    JSTL标签库的使用详解

  • 相关阅读:
    SQL注入与防范
    JDCP连接池连接数据库报错:java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z
    数据库连接池(基于MySQL数据库)
    使用JDBC连接MySQL数据库的一个基本案例
    快速排序的java实现
    在C++的函数中如何指定一个数组,使得这个数组的大小由函数的输入值来决定
    WORD2010如何把全角字母和数字批量转换成半角
    地图安卓
    浅谈java异常[Exception]
    Adapter的getView
  • 原文地址:https://www.cnblogs.com/tcle/p/8017764.html
Copyright © 2020-2023  润新知