WEB项目经验总结——不要再对面试官说,我没有项目经验了

前言

这里不定时的更新一些自己的项目终于到的实际问题吧,做一下记录,如果大家对方案有其他的好的方式欢迎留言探讨,一起学习哈。

正文

问题是针对后台用户账号的状态修改遇到的问题,因为新用户申请待审核,或者账号异常需要冻结,这里主要是给了一个状态字段。如图页面。

WEB项目经验总结——不要再对面试官说,我没有项目经验了_第1张图片

在冻结,解冻列表栏通过点击图标更改状态。

首先是页面代码:

style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; HEIGHT: 25px; BACKGROUND-COLOR: #afd1f3">

用户ID

用户名

权限(0普通,1商家,3是管理)

联系电话

账号状态(0正常,1冻结)

冻结

解结

WEB项目经验总结——不要再对面试官说,我没有项目经验了

οnmοuseοut="this.style.backgroundColor = '#F5FAFE';">

width="23">${u.id}

width="23">${u.username}

width="23">${u.admin }

width="23">${u.phone}

width="23">${u.frozen }

href="${pageContext.request.contextPath}/servlet/UpdateFrozenServlet?id=${u.id }&flag=1">

src="${pageContext.request.contextPath}/admin/images/i_edit.gif"

width="16" height="16" border="0" style="CURSOR: hand">

href="${pageContext.request.contextPath}/servlet/UpdateFrozenServlet?id=${u.id }&flag=0">

src="${pageContext.request.contextPath}/admin/images/i_edit.gif"

width="16" height="16" border="0" style="CURSOR: hand">

WEB项目经验总结——不要再对面试官说,我没有项目经验了_第2张图片

上图jsp代码所对应的的显示效果,然后我们需要在解冻很冻结栏加上我们的事件代码。

WEB项目经验总结——不要再对面试官说,我没有项目经验了_第3张图片

里面有两个参数,一个是id指对应更改的用户id,另一个是flag标记,1是冻结,0是解冻,针对两个事件分别执行不同的flag,然后我们需要编写UpdateFrozenServlet,更新frozen字段的标记,数据库dao层代码如下

public int update(int id,int flag) throws SQLException {

// TODO Auto-generated method stub

QueryRunner qr = new QueryRunner(C3P0Util.getDataSource());

String sql =" update user set frozen = ? where id = ?";

Object[] params={flag,id};

return qr.update(sql, params);

}

后台用的servlet,获取页面传过来的两个参数,然后调用dao层的方法,转回到当前页面。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

int id = Integer.parseInt(request.getParameter("id"));

int flag = Integer.parseInt(request.getParameter("flag"));

System.out.println("id="+id+",flag="+flag);

UserService us = new UserServiceImpl();

us.update(id, flag);

request.getRequestDispatcher("/servlet/UserListServlet").forward(request, response);

}

其中遇到一个问题,request.getRequestDispatcher("/servlet/UserListServlet").forward(request, response);本来我写的语句是request.getRequestDispatcher("/admin/myhome/userlist.jsp").forward(request, response);用这句话导致我更改了状态以后,页面无法自己刷新最新的数据,数据库已经改过来了,后来发现是这句话有问题,里面直接update数据了,但是没有执行select语句,因此页面无法得到最新的数据,而我任务直接转给/servlet/UserListServlet语句,里面执行了select语句,因此刷新除了改变。

WEB项目经验总结——不要再对面试官说,我没有项目经验了_第4张图片

到这里就解决了问题,如果有看不懂的可以留言,都是自己在做项目中遇到的小问题,总结一下,

你可能感兴趣的:(个人-项目,商家后台管理系统)