`
jayjayjays
  • 浏览: 214746 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSP设计模式

    博客分类:
  • java
阅读更多

JSP设计模式

一:介绍

记得初学jsp的时候,总喜欢把他和asp,php去比较,也习惯于使用asp的开发模式去写jsp,后来才发现这真是很傻的做法,其实jsp一出了来就已经用MVC模式了。下面我就简要说说jsp设计使用MVC来设计。

二:MVC介绍

MVC其实是模、视图、控制的缩写,也就是说在使用jsp时,有相应的文件去实现相应的操作。通常jsp只负责view也就是只负责显示页面。业务逻辑等有bean(ejb)去实现。下面讨论的是不使用ejb的情况下实现。如果使用ejb,ejb负责M.C通常会由servlet去实现。或者使用struts.

struts的介绍你可是去http://jakarta.apache.org/struts去看。以后的文章中我会介绍。

三:设计思路

当你构建一个Application时。你必须考虑界面的问题,而界面修改是非常平常的。如果你在jsp中实现所有的操作,一旦修改界面你麻烦大了。美工不懂jsp的,你必须自己去修改无数个文件,头不要太大,而此时一般时间都很紧,使用MVC则可以减少你的一些麻烦。

在设计时候jsp只负责显示页面,也就是说jsp调用Bean(Struts,servlet)传过来的数据然后显示而Bean(Struts,servlet)负责收集jsp需要的数据,用ArrayList(Arttibute)传给jsp。假如需要提交表单,一般也直接提交给Struts,servlet,处理后以后再返回处理信息。而其中相应的业务逻辑由Bean去实现。

四:Bean的设计

在我使用时候Bean通常有三类,分别manager,entry,database目录下面。

manager下面的bean做商业逻辑

entry下的bean就是封装数据,其实就是每个数据库表对应会有一个bean。jsp得到的也全部是类。

database下的bean就是操作数据库,执行如insert,update,delete,load(查询一条记录),

batchload(查询多条记录)。

他们之间的关系是entry负责封装数据,作为database的调用参数,返回结果。

manager调用database处理的结果。manager和jsp通信。jsp得到的结果从manager来, jsp需要做操作调用manager,即使是一个insert 在database存在这样的方法但在manager中你还是需要再封装一次。这样做的目的是使结构尽量简单。database只负责操作数据库。manager只做逻辑(取相应的数据)处理相应的逻辑,而entry则只把database取到的数据封装,或则把页面得到的参数封装,做为参数传给相应的Bean.

五:设计实例

下面我把留言板作为实例来讨论:

entry/Guestbook.java(留言板对象) database/GuestbookMap.java(更新,删除,修改留言板) manager/GuestbookManager.java(处理所有的事务) 数据表结构(postgresql) create sequence seq_guestbook increment 1 ; /**序列号生成器**/ create table guestbook( id int8 default nextval('seq_guestbook'), /**主键**/ title varchar(64),/**主题**/ body text,/**内容**/ sayid int8,/**发言人**/ toid int8,/**接受人**/ saytime datetime default now(),/**留言时间**/ newflg smallint default 1/**是否查看过**/ ); Guestbook.java ======================= import java.util.*; public class Guestbook(){ private int id; private String title; private body title; private int sayid; private int sayid; private Date saytime; private short newflg; public Guestbook(){ } public int getId(){ return this.id; } public void setId(int _id){ this.id=_id; } ........ (全是get/set方法) } GuestbookMap.java ============================== import Guestbook; public class GuestbookMap(){ public GuestbookMap(){ } public Guestbook load(int id){ //取到一条guestbook } //sqlstr 查询条件 //orderstr 排序条件 //rcdbegin 记录开始 //rcdend 记录结束\r // public ArrayList batchLoad(String sqlstr,String orderstr,int rcdbegin,int rcdend){ //ArrayList 里面封装了Guestbook } public void insert(Guestbook info){ } public void update(Guestbook info){ } public void delete(int id){ //取到一条guestbook } public int getRcdNums(String sqlstr){ //取记录条数 } } GuestbookManager.java
 


根据需要封装需要的方法,这部分才是你要写的

=============================

上面的方式entry,database的文件可以自动生成,这个工具我已经开发了,如果需要联系我。你需要写的就是GuestbookManager里面的方法,你也许会觉得工作量比你所有的操作都在jsp中大,但是这样结构非常清晰。你还需要的就是写一个数据库连接池,你所有的数据库操作都从一个地方取,每一次都去连接数据库开销很大的。

六:技术优势
1:结构清晰
2:维护方便
3:保护代码比较好。

分享到:
评论

相关推荐

    JSP设计模式.ppt

    JSP设计模式.ppt

    jsp的MVC设计模式

    MVC(Model-View-Controller)设计模式是一种广泛应用在Web开发中的架构模式,尤其是在Java Web领域,如JSP(JavaServer Pages)项目中。这种模式将应用程序的业务逻辑、用户界面和数据访问分离开来,提高了代码的可...

    Jsp动态网站设计.rar文件

    10. **优化与性能**:学习如何通过缓存、减少不必要的数据库查询、使用高效的JSP设计模式等方法来提高网站的性能。 通过【jsp建设动态网站教程】的学习,你将逐步掌握以上知识,并能够运用到实际项目中,实现功能...

    JSP+Servlet+AJAX的dao设计模式

    **JSP+Servlet+AJAX DAO设计模式详解** 在Web开发中,DAO(Data Access Object)设计模式是一种常用的设计模式,用于将业务逻辑与数据访问层进行解耦,提高代码的可维护性和可复用性。本篇我们将深入探讨如何在JSP...

    JSP程序设计精彩实例

    JSP设计模式** 设计模式是软件工程中的最佳实践,JSP中常见的设计模式有: - **Model-View-Controller (MVC)**:将应用逻辑、数据和用户界面分离,提高代码的可维护性和复用性。 - **Front Controller**:所有请求...

    JSP程序设计课件包含Hibernate,Struts的介绍

    3.Struts设计模式改变单一JSP设计模式,使程序员更为方便地开发和维护Java Web程序。 4.Struts的运行环境是什么?答:Struts必须运行在Tomcat或者其它支持JSP和Servlet的服务器。 5.运行Struts是否需要安装JDK? 答...

    (基于JSP的完整java毕业设计)jsp MVC设计模式应用之游戏卡在线销售系统(论文)(附源码).rar

    (基于JSP的完整java毕业设计)jsp MVC设计模式应用之游戏卡在线销售系统(论文)(附源码).rar(基于JSP的完整java毕业设计)jsp MVC设计模式应用之游戏卡在线销售系统(论文)(附源码).rar(基于JSP的完整java毕业...

    JSP最新开发技术手册(完整版)

    2. **JSP设计模式**:如Front Controller和MVP(Model-View-Presenter)模式提升代码质量。 总之,**JSP最新开发技术手册**是Java Web开发者的宝贵资源,它涵盖了从基础概念到高级特性的全方位讲解,能够帮助开发者...

    基于MVC设计模式构筑JSPServlet+EJB的Web应用

    ### 基于MVC设计模式构筑JSP/Servlet+EJB的Web应用 #### 概述 随着互联网的快速发展,Web应用已经从简单的静态内容发布转变为支持动态交互内容的处理,例如在线娱乐、电子商务等。为了满足这些变化,Web应用程序...

    jsp使用DAO设计模式分页

    本主题将深入探讨如何在JSP中利用DAO设计模式实现分页功能。 分页技术在Web开发中至关重要,它允许用户浏览大量的数据而不会感到压力,提高了用户体验。在Java环境中,我们通常使用Servlet和JSP结合DAO模式来处理...

    Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统

    Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统 Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统 Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统

    Professional Servlets and JSP The J2EE Web Tier

    本书深入探讨了Servlet和JSP的众多组件,其中包括自定义标签库(Custom Tag Libraries)、可用的新过滤器(filters)和流行的Servlet与JSP设计模式。自定义标签库能够帮助开发者创建可重用的代码组件,增强代码的...

    JSP的两种设计模式 Model1和Model2

    JSP的两种设计模式,即Model1和Model2,是Web开发中常见的架构模式,主要用于分离展示层、控制层和业务逻辑层,提高代码的可维护性和可扩展性。 **JSP Model1模式**是最基础的JSP开发模式,主要特点是将业务逻辑、...

    JSP留言管理系统Ⅵ(MVC+DAO设计模式)

    **JSP留言管理系统Ⅵ基于MVC+DAO设计模式详解** 在Web开发中,MVC(Model-View-Controller)设计模式和DAO(Data Access Object)设计模式是两种常见的架构模式,它们被广泛应用于构建可维护性和扩展性高的应用程序...

    jsp _MVC模式_课程设计

    jsp _MVC模式_课程设计 有利于大家的开发技术

    JSP设计(第三版)

    **JSP设计(第三版)** 本资源是关于JSP设计的第三版教材,主要针对Java Server Pages(JSP)技术进行深入讲解。JSP是一种动态网页开发技术,由Sun Microsystems(现已被Oracle公司收购)在1999年推出,用于构建基于...

    JSP+javaBean+Servlet(MVC设计模式)品红网站项目

    JSP+javaBean+Servlet(MVC设计模式)品红网站项目 JSP+javaBean+Servlet(MVC设计模式)品红网站项目 JSP+javaBean+Servlet(MVC设计模式)品红网站项目

    课程设计jsp 课程设计jsp

    【课程设计JSP】是一个基于Java技术的项目实践,它主要涵盖了Java编程语言、JavaBean组件以及MVC(Model-View-Controller)设计模式。在这个课程设计中,学生将学习如何构建一个动态网页应用程序,利用JSP(Java...

    jsp MVC设计模式应用之游戏卡在线销售系统(论文).rar

    jsp MVC设计模式应用之游戏卡在线销售系统(论文). 这两年太卷了,毕设和毕业 答辩竞争激烈,越写越卷,没有创新和亮点的毕业答辩基本达不到老师的要求。 现在学长为你们准备计算机毕设JSP项目,需要的自取哦。jsp ...

    jsp网页设计小实例

    本实例主要针对初学者,旨在帮助理解JSP的基础概念、设计模式以及实际应用。 1. **JSP基本结构** JSP文件本质上是一个HTML文件,但可以插入Java代码片段。这些代码片段可以在服务器端运行,并将结果插入到HTML中。...

Global site tag (gtag.js) - Google Analytics