第一个纯servlet MVC开发用户管理系统总结

本文详细介绍了使用Servlet进行MVC模式开发用户管理系统的经验,涵盖了数据库连接、CRUD操作、分页功能的实现,以及关键代码解析,帮助读者理解如何在没有框架的情况下构建一个简单的Web应用。
摘要由CSDN通过智能技术生成

MVC 原意就是 数据模型(modle)、视图(view)、控制器(controller)



    • 每张表都有一个数据类(modle类  内含对属性的操作方法(get和set))、一个service方法和一个控制器与之相对应,在写项目的时候尽量把对一类事务(增删改)的操作放在一个控制器内。下面的项目我把增删改查  全部放在了一个控制器内。


      在该项目中,涉及一个表的操作,所以我就写了一个控制器(UserClServlet),对表的增删改查都在该控制器内。各个view页面通过传递一个参数type给控制器来辨别是属于哪种操作,再近一步做对数据的处理。对数据库的所有操作都UsersService里面,控制器通过调用UsersService里面的方法来完成对数据库的增删改查操作。

      首先创建了一个User类  并生成设置和改变属性的方法    代码如下:
                package  com.mxf.domain;
      public class Users {
          String name;
          String password;
          int id;
          public int getId() {
              return id;
          }
          public void setId(int id) {
              this.id = id;
          }
          public String getName() {
              return name;
          }
          public void setName(String name) {
              this.name = name;
          }
          public String getPassword() {
              return password;
          }
          public void setPassword(String password) {
              this.password = password;
          }
          
      }

      然后为该类提供了service方法,包括 增删改查 和分页的部分方法
      代码如下:
                package  com.mxf.service;
      import java.sql.ResultSet;
      import java.sql.SQLException;
      import java.util.ArrayList;
      import com.mxf.domain.Users;
      import com.mxf.util.SQLUtil;
      public class UsersService {
          
          //增加
          public boolean AddUser(Users user)
          {
              boolean flag = true;
              
              String sql = "insert into user values (?,?,?)";
              String []parameters ={user.getId()+"",user.getName(),user.getPassword()};
              try {
                  SQLUtil.executeUpdate(sql, parameters);
              } catch (Exception e) {
                  // TODO: handle exception
                  flag = false;
              }
              return flag;
          }
          
          
          public Users getUserById (String id)
          {
              Users users = new Users();
              String sql = "select * from user where id=?";
              String []parameters = {id};
              ResultSet rs = SQLUtil.executeQuery(sql, parameters);
              try {
                  if(rs.next())
                  {
                      users.setId(rs.getInt(1));
                      users.setName(rs.getString(2));
                      users.setPassword(rs.getString(3));
                  }
              } catch (SQLException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }finally{
                  SQLUtil.close(SQLUtil.getConn(), SQLUtil.getPs(), rs);
              }
              
              return users;
          }
          
          //修改
          public boolean UpdateUsers(Users users)
          {
              boolean flag = true;
              
              String sql = "UPDATE USER SET userName=?,userpwd=? WHERE id=?";
              String []parameters = {users.getName(),users.getPassword(),users.getId()+""};
              
              try {
                  SQLUtil.executeUpdate(sql, parameters);
              } catch (Exception e) {
                  // TODO: handle exception
                  flag=false;
              }
              
              return flag;
          }
          
          //删除
          public boolean delectUsers(String id)
          {
              boolean flag = true;
              
              String sql = "delete from user where id=?";
              String []parameters = {id};
              
              try {
                  SQLUtil.executeUpdate(sql, parameters);
              } catch (Exception e) {
                  // TODO: handle exception
                  flag = false;
              }
              return flag;
          }
          //验证
          public boolean checkUsers(Users users)
          {
              boolean flag = false;
              String sql = "select * from user where userName=? and userpwd=?";
              String [] parameters = {users.getName(),users.getPassword()};
              ResultSet rs = SQLUtil.executeQuery(sql, parameters);
              try {
                  if(rs.next())
                  {
                      flag = true;
                  }
              } catch (SQLException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }finally{
                  SQLUtil.close(SQLUtil.getConn(), SQLUtil.getPs(), rs);
              }
              return flag;
          }
          
          //分页实现
          public ArrayList getUsersByPage(int pageNow,int pageSize)
          {
              ArrayList<Users> arrayList = new ArrayList<Users>();
              String sql = " SELECT * FROM  USER ORDER BY id LIMIT "+(pageNow-1)*pageSize+","+pageSize+"";
              ResultSet rs=SQLUtil.executeQuery(sql, null);
              try {
                  while(rs.next())
                  {
                      Users u = new Users();
                      u.setId(rs.getInt(1));
    • 0
      点赞
    • 6
      收藏
      觉得还不错? 一键收藏
    • 1
      评论
    评论 1
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值