zoukankan      html  css  js  c++  java
  • JSP开发模式

    JSP开发模式
    JSP+JavaBean模式与JSP+Servlet+JavaBean模式


    Model1,
    JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,在这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户请求,又显示数据,(JSP中编写业务控制逻辑代码)
    Model2,
    JSP+Servlet+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,Servlet负责处理用户请求,jsp负责数据显示,javaBean负责封装数据,各个模块之间层次清晰,web开发推荐采用此种模式。
    MVC架构模式组成
    1,Model(模型)封装数据,处理数据
    2,View(视图)用来页面显示
    3,Controller(控制器)控制程序处理流程

    JavaBean
    JavaBean是一个类,必须存在一个无参数的构造方法,所有成员属性都是private私有化的,向外提供访问方式get和set方法。
    在JSP规范中,提供了三个与JavaBean相关的动作标签
    <jsp:useBean id="person" scope="page" class="cn.itcast.javabean.Person">用于在指定的域范围内查找指定名称的应用,如果存在返回该JavaBean对象Person的引用保存在page域范围内的person属性中
    <jsp:setProperty property="name" name="person" value="Tom">设置属性,注意property="*"时自动存储
    <jsp:getProperty property="name" name="person">获取属性显示在页面
    因为实际开发中主要使用Model2模式所以javaBean标签现在很少使用


    Model1,简单计算器主页
    javaBean封装计算器数据与运算
    JSP显示页面,处理请求
    非法数据的校验(客户端校验通过JS,服务端校验)
    客户端校验
    在form表单提交数据时,onsubmit事件返回checkForm方法
    <form onsubmit="return checkForm()">
    <script>
    function checkForm(){
    var first=document.getElementById("first").value;
    var second=document.getElementById("second").value;
    if(first==""||isNaN(first)){
    alert("第一个参数必须是数字");
    return false;//返回false提交不成功
    }
    ....
    }
    </script>
    关于精度问题的处理使用java中的BigDecimal类进行处理

    内省(introspector)
    JDK提供的一套JavaBean操作的API,对JavaBean的操作可以通过反射技术操作,而JDK就提供了一套基于反射技术操作JavaBean的方法即内省技术
    1,导包imort java.beans.*
    2,通过Introspector或得JavaBeanInfo信息
    Introspector.getBeanInfo(Person.class);
    3.通过JavaBeanInfo对象获取所有属性描述器和方法描述器,返回的是一个数组
    getMethodDescriptor()
    getPropertyDescriptor()
    4.遍历通过属性和方法设置javabean数据

    内省封装form数据到javabean中的过程一般不自己编写,使用已经写好的工具开发包BeanUtils内省开发包,其中封装了对javabean的操作
    BeanUtils由阿帕奇公司提供,专门进行javaBean操作,在web层开发框架中被集成内置使用。
    下载BeanUtils的jar;commons-beanutils connons-logging
    将beanutils和logging的jar包复制到web-inf下的lib中
    接下来就可以编写beanutils的封装程序了
    在Servlet处理请求程序中
    Person p=new Person()
    Beanutils.populate(p,request.getParameterMap()); 该方法直接将接收到属性map集合封装到对象中
    在进行数据封装时,当客户端提交的数据类型与javabean封装属性数据类型不同时,需要进行类型转换,beanutils内部封装了类型转换器接口和一些常见的转换器实现,对于特殊类型的数据需要自定义转换器实现该接口Converter,复写convert转换方法。

    Model2案例;用户注册和登录
    1,将用户信息保存xml文件中-----xml文件读写 pull解析
    2,注册;将用户信息写入xml ----xml节点操作---一次性验证码
    3,登录;xml节点查询,----记住用户账号密码
    注册功能 register.jsp(注册页面form表单)----RegisterServlet----封装数据Uesr-----将User信息写入XML UserModel-----注册结果页面Jsp
    步骤
    1,创建web工程
    2,导入jar包搭建环境,xpp3.jar,beanutils.jar,logging.jar
    3.创建Package结构;公司.部门.项目.分包

  • 相关阅读:
    HAProxy的安装与使用
    使用 Minikube 安装 Kubernetes
    史上最详细的Docker安装手册
    Kubernetes(K8s) 安装(使用kubeadm安装Kubernetes集群)
    Docker 学习线路
    Docker Machine的使用
    Asp.Net Core 发布到 Docker(Linux Centos 虚拟机,使用Dockerfile)
    Centos 8 上安装 Consul
    Centos 8 安装 Consul-Template
    Centos 8 安装 Nginx
  • 原文地址:https://www.cnblogs.com/ss561/p/4642256.html
Copyright © 2011-2022 走看看