java web简单页面开发

package dao;

import Bean.User;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

数据库的链接及表的增删改查
public class UserDAO {
    /*public static void main(String[] args) {
        new UserDAO().getTotal();
    }*/

    public UserDAO() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    //jdbc:mysql://localhost:3306
    public Connection getConnection() throws SQLException {
        return DriverManager.getConnection("jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8",
                "root",
                "123456");
    }

    public int getTotal() {
        int total = 0;
        try (Connection c = getConnection(); Statement s = c.createStatement()) {
            String sql = "select count(*) from user";

            ResultSet resultSet = s.executeQuery(sql);
            while (resultSet.next()) {
                total = resultSet.getInt(1);
            }
            System.out.println("total: " + total);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return total;
    }

    public void add(User bean) {
        String sql = "insert into user values(null,?,?,?,?,?)";

        try (Connection c = getConnection();
            PreparedStatement ps = c.prepareStatement(sql,
                    Statement.RETURN_GENERATED_KEYS)) {
            ps.setString(1, bean.getName());
            ps.setString(2, bean.getPwd());
            ps.setString(3, bean.getSex());
            ps.setString(4, bean.getHome());
            ps.setString(5, bean.getInfo());
            ps.execute();

            ResultSet generatedKeys = ps.getGeneratedKeys();
            if (generatedKeys.next()) {
                int id = generatedKeys.getInt(1);
                bean.setId(id);
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void delete(int id) {
        try (Connection c = getConnection();
            Statement s = c.createStatement();){
            String sql = "delete from user where id = " + id;

            s.execute(sql);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void update(User bean) {
        String sql = "update user set name = ?, pwd = ?, sex = ?, home = ?, info = ? where id = ?";

        try (Connection c = getConnection();
            PreparedStatement ps = c.prepareStatement(sql)){

            ps.setString(1, bean.getName());
            ps.setString(2, bean.getPwd());
            ps.setString(3, bean.getSex());
            ps.setString(4, bean.getHome());
            ps.setString(5, bean.getInfo());
            ps.setInt(6, bean.getId());

            ps.execute();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public User get(int id) {
        User user = null;

        try (Connection c = getConnection();
            Statement s = c.createStatement();){
            String sql = "select * from user where id = " + id;

            ResultSet resultSet = s.executeQuery(sql);
            if (resultSet.next()) {
                user = new User();
                String name = resultSet.getString("name");
                String pwd = resultSet.getString("pwd");
                String sex = resultSet.getString("sex");
                String home = resultSet.getString("home");
                String info = resultSet.getString("info");
                user.setId(id);
                user.setName(name);
                user.setPwd(pwd);
                user.setSex(sex);
                user.setHome(home);
                user.setInfo(info);
            }


        } catch (SQLException e) {
            e.printStackTrace();
        }
        return user;
    }

    public List<User> list() {
        return list(0, Short.MAX_VALUE);
    }

    public List<User> list(int start, int count) {
        List<User> list = new ArrayList<>();

        String sql = "select * from user order by id DESC limit ?, ?";

        try (Connection c = getConnection();
            PreparedStatement ps = c.prepareStatement(sql)){
            ps.setInt(1, start);
            ps.setInt(2, count);
            ResultSet resultSet = ps.executeQuery();
            while (resultSet.next()) {
                User user = new User();
                int id = resultSet.getInt(1);
                String name = resultSet.getString("name");
                String pwd = resultSet.getString("pwd");
                String sex = resultSet.getString("sex");
                String home = resultSet.getString("home");
                String info = resultSet.getString("info");
                user.setId(id);
                user.setName(name);
                user.setPwd(pwd);
                user.setSex(sex);
                user.setHome(home);
                user.setInfo(info);
                list.add(user);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }
}

 

重写service方法

将查询的数据进行页面渲染

package service;

import Bean.User;
import dao.UserDAO;

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

public class UserServlet extends HttpServlet{
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html; charset=UTF-8");

        List<User> list = new UserDAO().list();

        StringBuffer sb = new StringBuffer();
        sb.append("<table align='center' border='1' cellspacing='0'>\r\n");
        sb.append("<tr><td>id</td><td>name</td><td>pwd</td><td>sex</td><td>home</td><td>info</td>" +
                "<td>edit</td><td>delete</td></tr>\r\n");

        String sFormat = "<tr><td>%d</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td>" +
                "<td><a href='editUser?id=%d'>edit</a></td><td><a href='deleteUser?id=%d'>delete</a></td></tr>\r\n";

        for (User user : list) {
            String tr = String.format(sFormat, user.getId(), user.getName(), user.getPwd(), user.getSex(),
                    user.getHome(), user.getInfo(), user.getId(), user.getId());
            sb.append(tr);
        }
        sb.append("</table>");
        resp.getWriter().println(sb.toString());

        /*for (User user : list) {
            resp.getWriter().println(user.toString());
        }*/
    }
}

web.xml配置

<servlet>
    <servlet-name>UserServlet</servlet-name>
    <servlet-class>service.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>UserServlet</servlet-name>
    <url-pattern>/user</url-pattern>
</servlet-mapping>

配置好tomcat启动访问页面

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值