Web开发分层思想

本文详细介绍了JavaWeb开发中的MVC模式,强调了分层思想的重要性,包括模型(Model)、视图(View)和控制器(Controller)的角色。在实际应用中,进一步细化为更具体的层,如领域模型(domain)、业务逻辑(service)、数据访问(DAO)等,并阐述了各层的职责。此外,还提到了用户登录、注册和注销的实现过程,以及表单验证和使用Session进行状态管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MVC开发模式:
M:Model模型       JavaBean&四种作用域
V:View视图            JSP
C:Controller控制器        Servlet

不使用框架,使用JSP+JavaBean+Servlet进行开发

但是在实际开发中,我们进行更为细致的划分:
分层思想:强内聚,弱耦合

整个业务流程是这样的:
浏览器即用户向服务器端发起请求,服务器端的控制器Servlet接收到用户的请求,做三件事:
1.获取表单的数据2.调用业务层的业务逻辑3.分发转向,其中调用的业务逻辑,业务层会去调用DAO层的基本增删改查方法,每一层都可以对JavaBean|三个域对象进行操作。最终结果通过JSP,返回给用户浏览器显示。
对于每一层,我们通常会创建如下包:
domain:JavaBean,实体bean,用于封装数据
service:业务层接口,如注册,登录……
service.impl:业务层接口的实现类
dao:dao接口,基本的增删改查方法
dao.impl:dao接口的实现类
servlet:servlet类
utils:工具类
exception:自定义异常类
jsp
其中接口可以看作是功能说明书,其中囊括了所有的方法。
下面写一个用户登录注册的Web小程序
这里写图片描述
根据上述的分层思想,JavaWeb程序的架构如上图所示。
User:实体Bean,封装数据,其中字段的名称需与数据库字段保持一致
这里写图片描述
Dao:数据访问层接口
这里写图片描述
其中的方法都是基本的增删改查,可访问数据库中的数据
Dao.impl:Dao接口的实现类

package com.itdream.dao.impl;

import com.itdream.dao.UserDao;
import com.itdream.domain.User;
import com.itdream.exception.UserExcisException;
//自己写的操作数据库的工具类,具体实现方法见之前写的博文《JDBC技术》
import com.itdream.utils.DBUtils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;

/**
 * Created by Dream on 2017/12/1.
 */
public class UserDaoImpl implements UserDao {
   
   
    public void insert(User user)throws Exception{
        Connection con = null;
        PreparedStatement ps = null;

        try{
            con = DBUtils.getConnection();
            String sql = "insert into users (username,password,email,birthday) values(?,?,?,?)";
            ps = con.prepareStatement(sql);
            ps.setString(1,user.getUsername());
            ps.setString(2,user.getPassword());
            ps.setString(3,user.getEmail());
            SimpleDateFormat spf = new SimpleDateFormat("yyyy-MM-dd");
            String date = spf.format(user.getBirthday());
            ps.setString(4,date);

            int result = ps.executeUpdate();
        }catch (Exception
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值