您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 第8章 JSP+JavaBean+Servlet技术
2020/7/21动态网页设计第8章JSP+JavaBean+Servlet技术2020/7/22第8章JSP+JavaBean+Servlet技术本章主要内容:Servlet引入Servlet与JSP开发实例JSP+JavaBean+servlet开发技术2020/7/23(纯jsp技术+javaBean)开发《学生成绩管理系统系统》adminlogin.jsp登录页面Logincheck.jsp验证页面数据库操作(增、删、改、查)功能实现的页面登录请求登录失败验证成功student数据库操作数据库AdminBeancl.java验证业务逻辑AdminBean.java表示admin表DBconn.java得到数据库连接调用ScoresBeancl.java验证业务逻辑ScoresBean.java表示scores表调用界面层模型(逻辑)层8.1Servlet的引入2020/7/24开发模式的改进---model2(基于MVC的框架)MVC是一种通过3个不同部分构造一个软件或组件的理想办法:模型(Model):一个或多个JavaBean对象,用于表示业务数据和业务逻辑。若表示业务数据,JavaBean主要提供简单的setXXX()方法和getXXX()方法,在这些方法中不涉及对数据的具体处理细节。视图(View):一个或多个JSP页面,为模型提供数据显示,JSP页面主要使用HTML标记和JavaBean标记来显示数据。控制器(Controller):一个或多个Servlet对象,根据用户请求,调用相应的模型组件进行处理,然后调用相应的视图显示模型返回的数据。2020/7/25一个基于MVC的应用程序对用户请求的处理过程:(1)终端用户通过应用程序发出了一个请求,该请求被转发给控制器。(2)控制器收到该请求后,检查该请求然后决定用什么样的业务逻辑来处理该请求,这时控制器会将该请求转发给一个相应的业务组件去处理。(3)模型中包含处理该用户请求的所有业务组件,并且也执行用户所需要的全部数据存取。代表终端用户查询检索出的任何数据都被打包返回给控制器。(4)控制器接收从模型返回的数据,并选择显示这些数据的相应的视图,然后将视图返回给用户。MVC模式适合大型项目的开发,是组件式的开发,但开发起来相对Model1复杂,步骤较多。2020/7/26Model2开发模型的程序流程浏览器Servlet(控制器)JavaBean(模型)数据库Web服务器请求响应老板仓库管理员工人仓库JSP(视图)销售员2020/7/27调用(jsp+javaBean+servlet)开发《学生成绩管理系统系统》adminlogin.jsp登录页面页面显示登录请求登录失败验证成功student数据库操作数据库AdminBeancl.java验证业务逻辑AdminBean.java表示admin表DBconn.java得到数据库连接调用ScoresBeancl.java验证业务逻辑ScoresBean.java表示scores表界面层模型(逻辑)层ScoresServlet.java数据库操作LoginCheckServlet.java调用2020/7/288.2JSP与Servlet结合开发实例JSP负责处理页面,而Servlet适宜处理逻辑,所以常用JSP+Servlet来开发应用。这就涉及到JSP和Servlet相互调用、相互传递数据的问题。2020/7/298.2.1JSP访问Servlet——通过表单通过FORM表单的action属性访问Servlet是最常用的方式下面例子中,JSP页面inputname.jsp通过表单向名为Count.java的Servlet提交姓名,Servlet接受用户输入并向客户问好。2020/7/210%@pagecontentType=text/html;charset=GB2312%HTMLBODYbgcolor=cyanFontsize=4P输入姓名:FORMaction=/ch8/servlet/countmethod=getInputType=textname=usernameInputType=submitvalue=提交/FORM/BODY/HTMLinputname.jsp源码2020/7/211importjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;publicclassCountextendsHttpServlet{publicvoidinit(ServletConfigconfig)throwsServletException{super.init(config);}publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{//获得一个向客户发送数据的输出流:PrintWriterout=response.getWriter();response.setContentType(text/html;charset=GB2312);//设置响应的MIME类型。out.println(HTMLBODY);request.setCharacterEncoding(gbk);Stringname=request.getParameter(“username);//获取客户提交的信息。out.print(BR+hello+name);out.println(/body/html);}}Count.java源码2020/7/2128.2.2JSP访问Servlet——通过超链接对于上一节的例子,可以换一种方式向Servlet提交数据,在inputname.jsp中用超链接代替表单并传递姓名。inputname1.jsp%@pagecontentType=text/html;charset=GB2312%Ahref=/ch8/servlet/count?number=王红加载Servlet并传姓名王红/arequest.getParameter(“number);2020/7/2138.2.3MVC的实例【例】MVC的实现。本节采用JSP+Servlet+JavaBean技术开发一个体重指数测量程序。程序包含4个文件,分别是:view_Table.jspcontroller_Servlet.javamodel_Bean.javaview_Result.jsp2020/7/214Model2开发模型的程序流程浏览器Servlet(控制器)JavaBean(模型)Web服务器请求响应JSP(视图)view_Table.jspview_Result.jspmodel_Bean.javacontroller_Servlet.java2020/7/215对身高和体重数据的处理计算是在模型层实现的,其中运用的业务规则是世界卫生组织拟定的体重状况的判断标准。体重指数(BMI)的计算公式是:体重指数(BMI)=体重(kg)/身高(米)的平方世界卫生组织拟定的BMI指数与体重状况的对应关系是:BMI在18.5-25体重在正常范围BMI大于25小于30体重状况为超重BMI大于30体重状况为较肥胖BMI小于18.5体重状况为偏瘦2020/7/216(1)Model层的实现Model(模型)层是软件中的核心模块,负责实现软件所有的业务逻辑,所有的数据处理都是在这里进行的。Model层用JavaBean来实现。新建一个类model_Bean,文件名为model_Bean.java,目录名为WEB-INF/src,存放在mvc_Test包中。2020/7/217Model_Bean.java文件源代码如下:packagemvc_Test;publicclassmodel_Bean{//构造函数publicmodel_Bean(){}//私有成员privateStringresult;privateStringbmi;//体重指数//公有成员publicvoidsetBmi(Stringw,Stringh){//BMI体重指数doublewt=Double.parseDouble(w);//将字符串类型的体重数据转换成double类型doubleht=Double.parseDouble(h);//将字符串类型的身高数据转换成double类型doublebmit=wt/(ht*ht);//按给定公式计算BMI体重指数2020/7/218bmit*=10;intbmitt=(int)bmit;bmit=(double)bmitt/10;bmi=String.valueOf(bmit);//通过在浮点型和整型之间,先后进行相互的强制转换,使BMI指数只保留一位小数。}publicStringgetBmi(){returnbmi;}publicvoidsetResult(Stringbmi){//根据BMI指数大小判定体型doublebmit=Double.parseDouble(bmi);if(bmit18.5&&bmit=25)result=您的体重在正常范围,请继续保持!;2020/7/219elseif(bmit25&&bmit=30)result=您的体重超重,请加强锻炼!;elseif(bmit30)result=您太.........重了,请注意饮食结构,加强锻炼!;elseresult=您的体形偏瘦,请注意营养!;}publicStringgetResult(){returnresult;//将处理结果返回控制层组件controller_Servlet}}模型层负责对其接收的身高和体重数据进行处理,这些数据是视图层以表单的方式采集而来的,接下来将给出视图层的代码。2020/7/220(2)View层的实现View(视图)层提供了一个表单以采集用户的身高和体重数据。view_Table.jsp文件源代码如下:%@pagecontentType=text/html;charset=GB2312%%@pageimport=mvc_Test.controller_Servlet%!--世界卫生组织标准体重测定--htmlheadtitle世界卫生组织标准体重测定/title/headbodycenterfontcolor=redsize=5看看您的体重状态如何/fonthrbr2020/7/221formname=view1action=controller_Servletmethod=POST 体重 inputtype=textname=weightvalue=公斤br身高 inputtype=textname=heightvalue=米brinputtype=submitvalue=提交  inputtype=resetvalue=重填/form/center/body/html视图层采集的数据提交给控制层,控制层转发给模型层处理,模型层接收控制层转发来的数据并对数据进行处理,处理结果返回给控制层。2020/7/222(3)Control层的实现控制层的具体功能是向模型层转发请求数据以及回收数据处理的结果,同时生成结果显示页面,返回给用户。Control层用Servlet实现。首先新建一个类controller_Servlet,对应文件名为controller_Servlet.java,目录名为WEB-INF/src,放在包mvcTest中。controller_Servlet.java源代码如下:packagemvc_Test;impor
本文标题:第8章 JSP+JavaBean+Servlet技术
链接地址:https://www.777doc.com/doc-6271320 .html