jsp设计模式

原创 2004年08月10日 10:38:00

jsp设计模式---MVC模式
一:介绍
以前自己是写asp和php代码的,后来为了赶上时代的步伐吧.我开始涉足jsp.
但是在刚刚开始写的时候,总是喜欢拿jsp和asp对比着来写程序.后来发现这样真的很笨.而且这样写jsp代码不如就写asp好了,根本就体现不出jsp和java的强大.当然这个就是我今天要和大家讨论的在jsp中实现MVC三层模式.
二:什么是MVC
MVC是MODEL_VIEW_CONTROL的缩写。MODEL_VIEW_CONTROL是软件设计的典型结构。在这种设计结构下,一个应用被分为三个部分:model,view和control,每个部分负责不同的功能。model是指应用程序的数据,以及对这些数据的操作;view是指用户界面;control负责用户界面和程序数据之间的同步,也就是完成两个方向的动作:一、在根据用户界面(view)的操作完成对程序数据(model)的更新,二、将程序数据(model)的改变及时反应到用户界面(view)上。
三:设计思路
当你构建一个网站时。你必须考虑界面的问题,而界面修改是非常平常的。如果你在jsp中实现所有的操作,一旦修改界面你麻烦大了。美工不懂jsp的,你必须自己去修改无数个文件,头不要太大,而此时一般时间都很紧,使用MVC则可以减少你的一些麻烦。
在设计时候jsp只负责显示页面,也就是说jsp调用Bean(Struts,servlet)传过来的数据然后显示而Bean(Struts,servlet)负责收集jsp需要的数据,用ArrayList(Arttibute)传给jsp。假如需要提交表单,一般也直接提交给Struts,servlet,处理后以后再返回处理信息。而其中相应的业务逻辑由Bean去实现。

四:Bean的设计
我一般在设计Bean的时候有两个目录:
比如说文章系统就有:
com.Guessbook.business

com.Guessbook.db
这两个文件夹(包)
business下放业务逻辑和封装数据
db下放操作数据库和数据库连接程序(当然我没有用数据池的情况下,建议使用存储过程)
五:设计实例
不知道为什么所有写设计实例和入门程序的都喜欢用留言板,那我也用用吧.

business下
有GuestbookInfo.java(用于封装数据) GuestbookFactory.java(连接DBGuestbook.java) Guestbook.java(用于写抽象类、接口并实现业务逻辑)
db下
有DBGuestbook.java(所有对数据库的操作都在这个里面,比如:insert,update,select,delete,并将没有操作在一个方法内) 和 DBConnection.java(数据库连接文件)


数据表结构
create table guestbook(
id int8 default nextval('seq_guestbook'), /**主键**/
title varchar(),/**主题**/
body text,/**内容**/
sayid int8,/**发言人**/
toid int8,/**接受人**/
saytime datetime default now(),/**留言时间**/
newflg smallint default 1/**是否查看过**/
);

以下是部分代码,仅参考:
GuestbookInfo.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方法)
}

GuestbookFactory.java
============================================
public class GuestbookFactory {
private static String className = "com.Guestbook.db.DBGuestbook";
public GuestbookFactory() {
}
public static Guestbook getInstance() {
try {
return () Class.forName(className).newInstance();
}
catch (Exception e) {
return null;
}
}

}


Guestbook.java
==============================
package com.Guestbook.business;

import java.util.List;
public abstract class Guestbook {
protected GuestbookInfo gi;
public Guestbook() {
}
public GuestbookInfo getGi() {
return gi;
}
public void setGi(GuestbookInfo gi) {
this.gi = gi;
}
public abstract List getGuestbookList();

//下面全是你对数据库操作的方法


}


DBGuestbook.java
============================
package com.Guestbook.db;
import java.sql.*;
import java.util.List;
import java.util.ArrayList;
import com.Guestbook.business.*;

public class DBGuestbook extends Guestbook {
String sql;
public DBGuestbook() {
}
public List getGuestbookList(){
ResultSet rs = null;
List GuestbookList = new ArrayList();
DBConnection conn = new DBConnection();

try{
rs=conn.executeQuery("select * from guestbook");

while (rs.next()){
GuessbookInfo gi=new GuestbookInfo();
gi.setId(rs.getInt("id"));
//实现其他的方法 略
GuestbookList.add(gi);
}
}
catch (Exception e) {
System.err.println(
"com.Guessbook.db.DBGuestbook.getGuestbookList()" + "出错");
e.printStackTrace();
}
finally {
conn.close();
return GuestbookList;
}

}
}

六:技术优势
1:结构清晰
2:维护方便
3:保护代码比较好。
七:结束语
我只是简单的介绍一下,具体的使用你需要在实际运用中积累,如果你觉得他太垃圾,我说一声对不起了。



编写人:MIND

JSP实战开发

-
  • 1970年01月01日 08:00

JSP总结八:JSP与设计模式

  MVC架构与设计模式       MVC模式最早来自Smalltalk-80。Model是应用对象,View负责在屏幕上显示用户界面,Controller定义了用户界面对用户输入的响应方式。使用这...
  • sheismylife
  • sheismylife
  • 2007-09-19 14:31:00
  • 2593

jsp的两种设计模式

Jsp设计模式 n JSP设计模式包括两个: n (1)Model1,JSP+JavaBean设计模式 n (2)Model2,MVC设计模式 模式一JSP+JavaBean模式 n 在这...
  • w183705952
  • w183705952
  • 2011-11-07 23:48:19
  • 1921

JSP的两种设计模式 Model1和Model2

  • 2009年04月09日 20:24
  • 57KB
  • 下载

eclipse平台的设计模式

单例模式  Worbench就是单例模式的应用   即工作台只有一个 合成模式   swt的层次结构就是合成模式的体现 观察者模式    事件处理 工厂模式   平台内置的一些action ...
  • cuser_online
  • cuser_online
  • 2011-08-16 23:25:56
  • 472

javaweb设计模式

javaweb设计模式 一.javaweb的设计模式 1. jsp模式介绍 SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式(model1...
  • qq_37905269
  • qq_37905269
  • 2017-05-29 20:37:06
  • 267

非常详细的JSP DAO设计模式

DAO(Data Access Objects)设计模式是属于J2EE体系架构中的数据层的操作。 一、为什么要用DAO?      比较在JSP页面中使用JDBC来连接数据库,这样导致了J...
  • jiamingzhou
  • jiamingzhou
  • 2014-04-05 17:12:24
  • 5212

servlet&jsp的设计模式

1、http://blog.csdn.net/liu765023051/article/details/8763431 servlet 是基于摸板设计模式 --有的也叫 回调机制;如果人为的覆盖se...
  • B_qxzb
  • B_qxzb
  • 2015-09-15 20:30:37
  • 676

自定义标签JspFragment类 invoke()方法

一、JspFragment类 javax.servlet.jsp.tagext.JspFragment类是在JSP2.0中定义的,它的实例对象代表JSP页面中的一段符合JSP语法规范的JSP片段,这...
  • u012188794
  • u012188794
  • 2014-12-05 09:33:52
  • 621

【设计模式】:Dao设计模式详解及一个简单的项目(AJAX+JSP+Servlet)

迫于课程结束,老师逼着让做课程设计,就简单花了一天的时间写了个使用dao设计模式的东西~ ~ ~顺带在这里讲解下dao设计模式 把写个这个东西的源代码放上来: http://downloa...
  • u010800530
  • u010800530
  • 2014-12-18 15:10:24
  • 1602
收藏助手
不良信息举报
您举报文章:jsp设计模式
举报原因:
原因补充:

(最多只允许输入30个字)