javaWeb项目jdbc+servlet+jsp+mysql人员管理系统

一、

所需:IDEA

Tmocat (没有可以官网下载)

 Mysql

JDBC

package com.wuyunlong.util;

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

//操作数据库的公共类
public class BaseDao {
    private static String driver;
    private static String url;
    private static String username;
    private static String password;

    //静态代码块,类加载的时候就初始化了
    static {
        Properties params=new Properties();

        InputStream is=BaseDao.class.getClassLoader().getResourceAsStream("db.properties");
        try {
            params.load(is);
        } catch (IOException e) {
            e.printStackTrace();
        }
        driver=params.getProperty("driver");
        url=params.getProperty("url");
        username=params.getProperty("username");
        password=params.getProperty("password");
    }

    //获取数据库的链接

    public static Connection getConnection(){
        Connection connection = null;
        try {
            Class.forName(driver);
            connection = DriverManager.getConnection(url, username, password);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return connection;
    }

    //编写查询公共方法
    public static ResultSet execute(Connection connection,PreparedStatement preparedStatement,ResultSet resultSet,String sql,Object[] params) throws SQLException {
        //预编译的sql,在后面直接执行就可以了
        preparedStatement = connection.prepareStatement(sql);

        for (int i = 0; i < params.length; i++) {
            //setObject,占位符从1开始,但是我们的数组是从0开始!
            preparedStatement.setObject(i+1,params[i]);
        }

        resultSet = preparedStatement.executeQuery();
        return resultSet;
    }


    //编写增删改公共方法
    public static int execute(Connection connection,PreparedStatement preparedStatement,String sql,Object[] params) throws SQLException {
        preparedStatement = connection.prepareStatement(sql);

        for (int i = 0; i < params.length; i++) {
            //setObject,占位符从1开始,但是我们的数组是从0开始!
            preparedStatement.setObject(i+1,params[i]);
        }

        int updateRows = preparedStatement.executeUpdate();
        return updateRows;
    }


    //释放资源
    public static boolean closeResource(Connection connection,PreparedStatement preparedStatement,ResultSet resultSet){
        boolean flag = true;

        if (resultSet!=null){
            try {
                resultSet.close();
                //GC回收
                resultSet = null;
            } catch (SQLException e) {
                e.printStackTrace();
                flag = false;
            }
        }

        if (preparedStatement!=null){
            try {
                preparedStatement.close();
                //GC回收
                preparedStatement = null;
            } catch (SQLException e) {
                e.printStackTrace();
                flag = false;
            }
        }

        if (connection!=null){
            try {
                connection.close();
                //GC回收
                connection = null;
            } catch (SQLException e) {
                e.printStackTrace();
                flag = false;
            }
        }
        return flag;
    }


}

 配置jdbc.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mdb1?useUnicode=true&characterEncoding=utf-8
username=root
password=admin

更改自己对应的:数据库 账户和密码

创建servlet(Web层) service(业务层) dao(持久层)bean(实体类) util(三方工具类存放JDBC)

创建bean层userBean表实体类

package com.wuyunlong.pojo;

public class User {
  private int uid;
  private String usercode;
  private String userpassword;
  private String age;
  private String address;
  private String gender;

  public User() {
  }

  public User(int uid, String usercode, String userpassword, String age, String address, String gender) {
    this.uid = uid;
    this.usercode = usercode;
    this.userpassword = userpassword;
    this.age = age;
    this.address = address;
    this.gender = gender;
  }

  public int getUid() {
    return uid;
  }

  public void setUid(int uid) {
    this.uid = uid;
  }

  public String getUsercode() {
    return usercode;
  }

  public void setUsercode(String usercode) {
    this.usercode = usercode;
  }

  public String getUserpassword() {
    return userpassword;
  }

  public void setUserpassword(String userpassword) {
    this.userpassword = userpassword;
  }

  public String getAge() {
    return age;
  }

  public void setAge(String age) {
    this.age = age;
  }

  public String getAddress() {
    return address;
  }

  public void setAddress(String address) {
    this.address = address;
  }

  public String getGender() {
    return gender;
  }

  public void setGender(String gender) {
    this.gender = gender;
  }
}

 

servlet:登录请求

package com.wuyunlong.servlet;

import com.wuyunlong.pojo.User;
import com.wuyunlong.service.UserService;
import com.wuyunlong.service.UserServiceImpl;
import com.wuyunlong.util.Constants;
import org.junit.Test;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public class UserServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String userCode = req.getParameter("userCode");
        String userPassword = req.getParameter("userPassword");


        UserService userService = new UserServiceImpl();
        User user = userService.login(userCode, userPassword);//查询出登录的人
        List<User> all= userService.findll();


        req.setAttribute("findAll",all);
        if(user!=null){  //查有此人可以登录

//将用户信息放到session中
            req.getSession().setAttribute(Constants.USER_SESSINO,user);
            //跳转页面

            this.findall(req,resp);

            //resp.sendRedirect("main.jsp");


        }else {
            req.setAttribute("error","用户名或者密码错误,请先注册");
            req.getRequestDispatcher("login.jsp").forward(req,resp);

        }




    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }

    protected void findall(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        UserService us = new UserServiceImpl();
        List<User> all = us.findll();

        req.setAttribute("all",all);
        //req.setAttribute("findAll",all);
        req.getRequestDispatcher("main.jsp").forward(req,resp);
    }


}

service

接口:UserService

 public User login(String userCode,String password );

实现类:UserServiceImpl

    private UserDao userDao;

    public UserServiceImpl() {

            userDao=new UserDaoImpl();
        }

            //登录
        public User login(String userCode, String userPassword) {
            Connection connection=null;
            User user=null;

            try {
                connection = BaseDao.getConnection();
                //通过业务层调用对应的具体的数据库操作
                user=   userDao.getLoginUser(connection,userCode,userPassword);
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                BaseDao.closeResource(connection,null,null);
            }

            return user;
        }

Dao

接口:UserServlet

public User getLoginUser(Connection connection, String userCode,String userPassword) throws SQLException;

实现类:UserServletImpl

//登陆查询
    public User getLoginUser(Connection connection, String userCode,String userPassword) throws SQLException {
        {


            PreparedStatement pstm = null;
            ResultSet rs = null;
            User user = null;

            if (connection != null) {
                String sql = "select * from user where usercode=? ";
                Object[] params = {userCode};

                rs = BaseDao.execute(connection, pstm, rs, sql, params);
                if (rs.next()) {
                    //通过usercode查询 返回整个数组
                    user = new User();
                    user.setUid(rs.getInt("uid"));
                  user.setUsercode(rs.getString("usercode"));
                  user.setUserpassword(rs.getString("userpassword"));
                  user.setAge(rs.getString("age"));
                  user.setAddress(rs.getString("address"));
                  user.setGender(rs.getString("gender"));

                  if (!user.getUserpassword().equals(userPassword)){
                        user=null;}

                }



                BaseDao.closeResource(null, pstm, rs);
            }
            return user;


        }
    }

注册Servlet

登陆页面:login.jsp

 

登陆成功(主页面):main.jsp

<form id="form" action="${pageContext.request.contextPath}/delSelectedServlet" method="post">
        <table border="1" class="table table-bordered table-hover">
            <tr class="success">
                <th><input type="checkbox" id="firstCb"></th>
                <th>编号</th>
                <th>账户</th>
                <th>密码</th>
                <th>年龄</th>
                <th>地址</th>
                <th>性别</th>

                <th>操作</th>
            </tr>
            <c:forEach items="${requestScope.all}" var="u" varStatus="s">
                <tr>
                    <td><input type="checkbox" name="uid" value="${u.uid}"u></td>
                    <td>${s.count}</td>
                    <td>${u.usercode}</td>
                    <td>${u.userpassword}</td>
                    <td>${u.age}</td>
                    <td>${u.address}</td>
                    <td>${u.gender}</td>

                    <td><a class="btn btn-default btn-sm" href="/updemo.do?xxid=${u.uid}">修改</a>
                        <a class="btn btn-default btn-sm" href="/delete.do?sid=${u.uid}">删除</a></td>
                </tr>

            </c:forEach>


        </table>
    </form>

 只上传了登录功能

废话不多说

 

  • 1
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
javaweb是一种以Java为基础的web开发技术,它包括了servletjsp等相关技术。servletJavaEE规范中的一种组件,它主要用于处理用户发送的HTTP请求和返回HTTP响应。servlet可以接收前端页面传来的数据,然后对数据进行处理并返回给前端页面。mysql是一种关系型数据库管理系统,它能够存储大量的数据并提供有效的数据管理和查询功能。在javaweb开发中,我们可以通过servlet来连接mysql数据库,从而实现数据的持久化存储和操作。 jsp是一种基于Java的动态网页开发技术,它可以将Java代码嵌入到HTML页面中,从而实现动态页面的生成和展示。jsp可以使用Java代码来获取数据库中的数据并将其显示在前端页面上,实现了前后端的数据交互。 service是一种用于实现业务逻辑的组件或类,它负责处理具体的业务功能。在javaweb开发中,我们可以将业务逻辑封装在service中,然后在servlet中调用相应的service方法,实现对数据的处理和操作。 考试中无框架要求表示不可以使用现成的框架或库来完成开发任务,需要手动编写相关代码。在考试中,可以考察学生对javaweb技术的理解和应用能力,要求学生能够熟练地使用servletjsp等相关技术,并能够编写出符合需求的代码。此外,对于数据库操作,学生还需要了解mysql的基本操作和相关的jdbc编程技巧。 总而言之,javaweb servlet mysql jsp service的考试是考察学生对javaweb开发技术的掌握程度和应用能力的一种考试形式,学生需要熟练地使用这些技术,并能够灵活运用到实际的开发场景中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值