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详细DAO设计模式及应用(!)

原文地址:http://just-do-myself.iteye.com/blog/655227 DAO(Data Access Objects)设计模式是属于J2EE体系架构中的数...
  • qq418280718
  • qq418280718
  • 2017年07月04日 19:08
  • 139

【JS设计模式】状态模式的代码示例

1. 概述  当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。2. 解决的问题  主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同...
  • itpinpai
  • itpinpai
  • 2016年06月03日 17:45
  • 3513

MVC设计模式(jsp提交表单到servlet进行验证)

1:VO类(与数据表进行映射)  package cn.com.mldn.mvc.vo; public class User {  private String userid;  privat...
  • pangqiandou
  • pangqiandou
  • 2016年10月13日 13:02
  • 761

在javaWeb方面涉及到的设计模式

在javaWeb方面涉及到的设计模式
  • jlu_baqiaoyan
  • jlu_baqiaoyan
  • 2016年07月17日 10:00
  • 2124

常用设计模式之MVC模式详解

MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。...
  • u011877416
  • u011877416
  • 2013年10月26日 09:05
  • 5997

jsp的两种开发模式

Jsp设计模式 n JSP设计模式包括两个: n (1)Model1,JSP+JavaBean设计模式 n (2)Model2,MVC设计模式 模式一JSP+JavaBean模式 n 在这种...
  • Caster_Saber
  • Caster_Saber
  • 2015年06月19日 11:56
  • 1335

用MVC模式写的jsp连接数据库操作

首先用一个JavaBean封装数据库操作,即mvc中的模型 JdbcBean.java package data; import java.sql.*; public class JdbcBean...
  • u011731233
  • u011731233
  • 2014年10月29日 09:14
  • 3138

JSP-两种开发模式

Model1模式指的是JSP+JavaBean,Model2模式指的是MVC模式。 Model1模式: 在这种模式下,Web应用程序的开发开始有了层次概念,JSP页面用于显示一个视图,Ja...
  • zc527
  • zc527
  • 2015年02月13日 19:00
  • 593

jsp页面360浏览器兼容模式不兼容问题解决方法

众所周知,360浏览器兼容模式是个很蛋疼的模式,让无数开发人员头疼脑热。鄙人也遇到了,为留纪念,特附解决方法如下: 1、在标签前插入 如图所示: 2、在 标签内插...
  • guaodebeijixing
  • guaodebeijixing
  • 2017年06月05日 14:57
  • 2680

前端JSP与Spring MVC交互实用例子

java前后台交互:html、js、css,在从jsp的方向看,都不过是他生成的字符串而已,在URL参数传递时,只需要把字符串拼接成你想要的就好参数传递与iframe局部刷新 spring mvc 配...
  • qq_24145735
  • qq_24145735
  • 2016年09月03日 21:34
  • 7632
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jsp设计模式
举报原因:
原因补充:

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