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 οnsubmit="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.jar3.创建Package结构;公司.部门.项目.分包