web中的一些简单业务实现

响应对象
前面我们讲解接受客户的请求参数,应该进行相应得业务处理,处理完后应该响应客户一个网页地址。关于对客户的响应都封装在response对象中。HttpServletResponse类。

response.sendRedirect("/路径");//重定向跳转
jsp+dao
上面我们讲解的内容,在登录判断时,我们按照模拟的数据进行登录的判断,而实际开发我们应该根据数据库中是否存在该账号和密码得记录做判断。 所以这里我们得需要连接数据库。而连接数据库我们之前已经讲过,并且封装到dao类中对表进行相应的操作。
创建UserDao--根据账号和密码查询用户信息]

public class UserDao extends BaseDao{

    //根据账号和密码查询数据库表--tbl_user
    public User selectByNameAndPwd(String name,String pwd){
        //声明一个User类对象
        User user=null;
        try {
            //获取连接对象
            getConn();
            //获取执行sql语句的对象
            String sql="select * from tbl_user where username=? and password=?";
            ps=conn.prepareStatement(sql);
            //为占位符赋值
            ps.setObject(1,name);
            ps.setObject(2,pwd);
            //执行sql
            rs=ps.executeQuery();
            //处理结果集
            while (rs.next()){
                //创建user对象
                user=new User();
                //为User对象赋值
                user.setId(rs.getInt("id"));
                user.setUsername(rs.getString("username"));
                user.setPassword(rs.getString("password"));
                user.setRealname(rs.getString("realname"));
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            closeAll();
        }
        return user;
    }
}

修改b.jsp代码

注册

register.jsp

<%--
  Created by IntelliJ IDEA.
  User: ldh
  Date: 2024/9/19
  Time: 9:45
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>注册页面</title>
</head>
<body>
   <h3>注册页面</h3>
<form action="/registerDo.jsp" method="post">
     <table border="1" cellpadding="0" cellspacing="0">
         <tr align="right">
             <td width="100">账号:</td>
             <td><input type="text" name="uname"/></td>
         </tr>
         <tr align="right">
             <td>密码:</td>
             <td><input type="password" name="pwd"/></td>
         </tr>
         <tr align="right">
             <td>姓名:</td>
             <td><input type="text" name="realname"/></td>
         </tr>
         <tr>
             <td colspan="2" align="center"><input type="submit" value="立即注册"/></td>
         </tr>
     </table>
</form>
</body>
</html>

registerDo.jsp

<%@ page import="com.ykq.dao.UserDao" %><%--
  Created by IntelliJ IDEA.
  User: ldh
  Date: 2024/9/19
  Time: 9:57
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    //设置编码
    request.setCharacterEncoding("utf-8");
    //接受注册页面提交的数据
    String uname = request.getParameter("uname");
    String pwd = request.getParameter("pwd");
    String realname = request.getParameter("realname");
    //数据库插入数据
    UserDao userDao=new UserDao();
    int row = userDao.insertUser(uname, pwd, realname);
    if (row>0){
        response.sendRedirect("/login.jsp");
    }else{
        response.sendRedirect("/register.jsp");
    }
%>
</body>
</html>

UserDao

    public int insertUser(String uname,String pwd,String realname){
        String sql="insert into tbl_user(username,password,realname) values(?,?,?)";
        return edit(sql,uname,pwd,realname);
    }

列出所有用户信息
UserDao中增加了查询所有的方法

    public List<User> selectAll(){
        //创建一个集合容器
        List<User> list=new ArrayList<>();
        try {
            //获取连接对象
            getConn();
            //获取执行sql语句的对象
            String sql="select * from tbl_user";
            ps=conn.prepareStatement(sql);
            //执行sql语句
            rs=ps.executeQuery();
            //处理结果集
            while (rs.next()){
                User user=new User();
                user.setId(rs.getInt("id"));
                user.setUsername(rs.getString("username"));
                user.setPassword(rs.getString("password"));
                user.setRealname(rs.getString("realname"));
                list.add(user);
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            closeAll();
        }

        return list;
    }

main.jsp

<body>
    <%
        UserDao userDao=new UserDao();
        List<User> users = userDao.selectAll();
    %>
    <table align="center" border="1" cellspacing="0" cellpadding="0" width="500">
        <tr>
            <th>编号</th>
            <th>账号</th>
            <th>密码</th>
            <th>真实姓名</th>
            <th>操作</th>
        </tr>
        <%
            for(User user:users) {
                out.print("<tr align='center'>");
                out.print("<td>"+user.getId()+"</td>");
                out.print("<td>"+user.getUsername()+"</td>");
                out.print("<td>"+user.getPassword()+"</td>");
                out.print("<td>"+user.getRealname()+"</td>");
                out.print("<td><a>删除</a><a style='margin-left:30px'>编辑</a></td>");
                out.print("</tr>");
            }
        %>
    </table>
</body>

删除操作

main.jsp得修改

deleteDo.jsp

<body>
<%
    String id = request.getParameter("id");
    UserDao userDao = new UserDao();
    int i = userDao.deleteUser(id);
    if (i > 0) {
        response.sendRedirect("/main.jsp");
    } else {
        response.sendRedirect("/main.jsp");
    }
%>
</body>

UserDao中删除方法

    //删除方法
    public int deleteUser(Object id){
        String sql="delete from tbl_user where id=?";
        return edit(sql,id);
    }

修改操作
数据回显

修改main.jsp

update.jsp

<%@ page import="com.ykq.dao.UserDao" %>
<%@ page import="com.ykq.entity.User" %><%--
  Created by IntelliJ IDEA.
  User: ldh
  Date: 2024/9/19
  Time: 11:26
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    //接受修改传递的编号
    String id = request.getParameter("id");
    //根据id查询改编号所对应的记录
    UserDao userDao = new UserDao();
    User user = userDao.selectById(id);
%>
<form action="/registerDo.jsp" method="post">
    <table border="1" cellpadding="0" cellspacing="0">
        <tr align="right">
            <td width="100">编号:</td>
            <td><input type="text" name="id" value="<%=user.getId()%>"/></td>
        </tr>
        <tr align="right">
            <td width="100">账号:</td>
            <td><input type="text" name="uname" value="<%=user.getUsername()%>"/></td>
        </tr>
        <tr align="right">
            <td>密码:</td>
            <td><input type="password" name="pwd" value="<%=user.getPassword()%>"/></td>
        </tr>
        <tr align="right">
            <td>姓名:</td>
            <td><input type="text" name="realname" value="<%=user.getRealname()%>"/></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><input type="submit" value="立即注册"/></td>
        </tr>
    </table>
</form>
</body>
</ht>

UserDao根据id查询记录

    public User selectById(Object id){
        //声明一个User类对象
        User user=null;
        try {
            //获取连接对象
            getConn();
            //获取执行sql语句的对象
            String sql="select * from tbl_user where id=?";
            ps=conn.prepareStatement(sql);
            //为占位符赋值
            ps.setObject(1,id);
            //执行sql
            rs=ps.executeQuery();
            //处理结果集
            while (rs.next()){
                //创建user对象
                user=new User();
                //为User对象赋值
                user.setId(rs.getInt("id"));
                user.setUsername(rs.getString("username"));
                user.setPassword(rs.getString("password"));
                user.setRealname(rs.getString("realname"));
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            closeAll();
        }
        return user;
    }

确认修改

updateDo.jsp

<body>
  <%
    //设置编码
    request.setCharacterEncoding("utf-8");
    //接受注册页面提交的数据
    String uname = request.getParameter("uname");
    String pwd = request.getParameter("pwd");
    String realname = request.getParameter("realname");
    String id= request.getParameter("id");
    //调用UserDao中的修改方法
    UserDao userDao=new UserDao();
    int i = userDao.updateUser(uname, pwd, realname, id);
    if(i>0){
      response.sendRedirect("/main.jsp");
    }else{
      response.sendRedirect("/update.jsp");
    }
  %>
</body>

UserDao类中的修改方法

   //修改
    public int updateUser(String uname,String pwd,String realname,String id){
        String sql="update tbl_user set username=?,password=?,realname=? where id=?";
        return edit(sql,uname,pwd,realname,id);
    }

posted on 2024-12-09 15:58  小木不痞  阅读(16)  评论(0)    收藏  举报

导航