开发模式小结

发布时间:2020-09-24   修改时间:2025-05-11   阅读次数:2370

前面我们学习了Java Web开发的基本技术,包括:静态页面技术(Html,Css,JavaScript),动态页面(Jsp),数据库编程(Jdbc)、JavaBean、Servlet、Ajax等。在开发一个web项目时,可以根据实际情况,灵活搭配,下面介绍常见模式。

1、单纯jsp

理论上说,一个web项目只使用jsp是能够实现的,因为jsp既可以做界面,也可以嵌入代码做处理,但在页面中嵌入大量代码,和界面标签混在一起,使得程序可读性、可维护性很差,实现难度也很大。

2、jsp+javabean模式

将业务逻辑封装在类中供jsp调用,减少了jsp中代码。Jsp除用于显示外,仍需要调用JavaBean处理用户请求。

3、Jsp+Servlet+Javabean模式

在(2)基础上,引入Servlet作为联系Jsp和JavaBean的桥梁,进一步明确了分工,将业务逻辑和显示分离,体现了MVC(Model+View+Controller)的设计思想。这里MVC分别由JavaBean、Jsp和Servlet实现。

该模式下编程步骤

(1)设计输入页面,将请求提交到Servlet

(2)Servlet获取请求参数,调用Javabean封装、处理数据,将结果保存到合适的范围内(请求、会话或应用),转发到输出页面(如果输出结果很简单,可用out直接输出)。常用代码:

  request.setCharacterEncoding("utf-8");  //解决post提交方式下汉字乱码问题
  String inputdata1=request.getParameter("parameter1");//获取原始数据1
  String inputdata2=request.getParameter("parameter2");获取原始数据2
                。。。//处理数据,通常要实例化javabean并调用其方法来完成数据处理
  Object  outputdata=...//得到结果
  request.setAttribute("result",outputdata);//处理结果放在了request对象的result属性中
  request.getRequestDispatcher("/output.jsp").forward(request,response);//指派输出页面显示结果

(3)输出页面显示输出数据(el/jstl)。


4、JavaBean的细化

一个Web项目会频繁地操作数据库,因此我们常常将数据库的基本操作(crud,增删改查)封装在特定的类(Dao)中供调用,也即数据访问作为一层从业务逻辑中独立出来。

实现时,常把不同层的类放在不同的包下:

(1)servlet:放置Servlet类。

(2)entity:放置实体类。

(3)dao:放置数据访问类。

(4)service:放置业务逻辑类。

(5)util:放置工具类,如获取和释放连接的类。

包的命名按从大到小分级,如按:国家名 .机构名.项目名.包名。以dao包为例,可写为cn.sdau.studentmanage.dao。


5、Ajax模式

Ajax模式和传统模式(请求-响应)的区别:异步发送、接收数据,页面不需要刷新,事件驱动。服务器端(可以是Jsp,asp或php等)只需要返回字符串(JSON),页面渲染组装的工作由客户端完成。可以作为传统模式的补充,但在前后端分离模式流行的今天,它成为了主要的开发模式,是前端工程化的基础。该模式下编程过程:

(1)前端页面通过JavaScript或JQuery(推荐)向后台发出请求(不刷新页面),如使用Jquery的load/get/post/ajax等方法。

(2)后端Servlet处理请求,返回前端结果字符串(普通字符串或JSon字符串)。

 response.setContentType("text/html;charset=UTF-8");//避免输出汉字乱码
 PrintWriter out = response.getWriter();
 out.print(resultStr);

(3)前端解析返回结果,并在页面上显示。

隐藏菜单
开发模式小结
© 2024-2026 BigData1234.cn — All Rights Reserved. 鲁ICP备19007983号-1 您是第244059位访问者, 在线人数:14    教学周:3   切换背景