25@JSP_day13

 

1、自定义标签
  step1 写一个java类,继承SimpleTagSupport类
  step2 override doTag()方法,在该方法中,编写处理逻辑。
  step3 在.tld文件当中,描述标签。.tld文件必须放在WEB-INF\下或者放在jar文件中的META-INF下。
    <body-content>empty</body-content>:
      该标签没有标签体。
    <body-content>scriptless</body-content>:
      该标签可以有标签体,但是,标签体的内容不允许出现 <%  %>, <%= %>, <%!  %>
    <body-content>JSP</body-content>:
      该标签可以有标签体,标签体的内容可以是<%  %>, <%= %>, <%!  %>。JSP只有复杂标签技术才支持,简单标签技术只支持 empty,scriptless。 


  练习:

    写一个DateTag, 输出当前系统日期,比如
      输出 2012-06-05


2、el函数

  step1 使用taglib指令导入函数
  step2 使用el函数

 


3、自定义el函数

  step1 写一个java类,提供public static方法。
  step2 在public static方法里,实现处理逻辑。
  step3 在.tld文件当中描述函数。
    
    ${fn1:concat(str1,str2)}


  练习:

    写一个el函数 toUpperCase,将字符串变成大写。
    ${fn1:toUpperCase(str)}


4、如果使用的javaee的版本是5.0以上,需要注意如下几点:

  1),servlet2.5规范当中,要求容器默认情况下,忽略el表达式。使用<%@page isELIgnored="false"%>  ,让容器不要忽略el表达式。    
  2)如果要使用jstl,应该将jstl-1.2.jar 拷贝到WEB-INF\lib下。


 

5、mvc

  1)什么是mvc? (model,view,controller)
    是一种软件架构的思想,将一个软件的组成部分划分成三种不同类型的模块:
      模型: 封装业务逻辑。
        封装指的是,首先要实现业务逻辑,其次,应该为模型提供相应的接口(也就是说,通过接口来调用模型提供的功能,这样,当模型的实现发生了改变,只有接口不变,不会影响到调用者),最后,模型的输出应该与显示无关。
        业务逻辑指的是,首先是业务逻辑本身(即按照一定的业务规则对数据进行加工的过程),另外,还包括为了保证业务逻辑能够正常执行的基础服务(比如事务、安全、日志等等)。
      视图:  实现表示逻辑(将模型提供的数据以合适的方式展现给用户;另外,视图还要提供相应的操作界面,方便用户向系统发送请求)。
      控制器: 用来协调视图和模型。当用户通过视图向系统发送请求时,请求先交给控制器,控制器依据请求调用相应的模型来处理;另外,模型处理的结果先发送给控制器,控制器选择合适的视图将处理结果展现给用户。
  2)在web应用当中,如何使用mvc(使用java平台)?
    a,模型
      使用java类来实现(或者是ejb,spring javabean等来实现,可以利用应用服务器提供的一些基础服务)。
    b,视图
      使用jsp(或者是模板技术,JSF等等)
    c,控制器
      使用servlet(或者是filter)


  使用mvc来开发bmi应用
    step1 实现模型
    step2 测试模型
    step3 实现视图
    step4 实现控制器
    step5 部署,运行


  练习:
    给bmi_form.jsp添加表单验证,要求身高
    体重不能为空并且必须是数字。

 


  mvc的优点和缺点
  3)mvc的优点
    a, 可以实现模型的复用。
      模型不关心返回的数据以什么样的方式显示出来,模型返回数据可以使用不同的视图来表示。用户也可以通过不同的界面来访问模型。
    b,模型写完之后,可以立即测试(如果业务逻辑写在了servlet或者jsp里,需要部署之后才能测试。
    c, 方便分工协作
    d,方便代码的维护
      按照mvc思想,我们可以将一个系统分层,分别是表示层(v,c)、业务层(m)、持久层(m中数据访问相关的部分)。
      分层之后,下一层的代码发生改变,只要接口不变,不会影响到上一层的代码(比如dao的实现发生了改变,不会影响到业务层)。另外,还可以方便对某一层进行具体的代码优化。
  4) 缺点
    使用mvc之后,会增加设计的难度以及代码量,相应的开发成本也会增加。
  5)例外
    jsp + javabean: 由jsp充当控制器与视图,业务逻辑仍然使用java类来实现。


  
    create table f_user(
      id int primary key auto_increment,
      username varchar(20) unique,
      name varchar(50),
      pwd varchar(20),
      age int,
      gender char(1),
      phone varchar(20)
    );
        
    create table f_pic(
      id int primary key auto_increment,
      picName varchar(50),
    userId int
    );


网上申请贷款

  实现模型
    建表  t_account
      create table t_account(
        id int primary key auto_increment,
        accountNo varchar(16) unique,
        balance double
      );
        insert into t_account(accountNo,balance)
        values('6225881003192222',1000);
        
                    
            
        
    


    
    
   

 

posted @ 2012-06-07 23:58  笑仁术Rex  阅读(239)  评论(0编辑  收藏  举报