发际线与我作队-团队作业(五):冲刺总结6
团队作业(六):调整改进
任务总述:改进前几天任务中未完善的环节
项目燃尽图:
一、具体改进:前端
- 1.传输记录界面
具体代码:
<body background="./images/2.png">
<form name="fom" id="fom" method="post" action="files/file/alllist.jsp">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table id="subtree1" style="DISPLAY: " width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="20"><font>统计文件</font> <a onclick="javascript:window.print();" href="javascript:void(0);" >>>>打印<<<</a> </td>
</tr>
<tr>
<td height="10" valign="top" ><hr size="1"/></td>
</tr>
<tr>
<td height="40">
<table width="100%" border="0" cellpadding="4" cellspacing="1">
<tr>
<td align="center" bgcolor="#EEEEEE">序列</td>
<td align="center" bgcolor="#EEEEEE">标题</td>
<td align="center" bgcolor="#EEEEEE">备注</td>
<td align="center" bgcolor="#EEEEEE">发送时间</td>
<td align="center" bgcolor="#EEEEEE">发送人</td>
<td align="center" bgcolor="#EEEEEE">接收人</td>
<td align="center" bgcolor="#EEEEEE">文件类型</td>
<td align="center" bgcolor="#EEEEEE">状态</td>
<td align="center" bgcolor="#EEEEEE">操作</td>
</tr>
<%
if (allRecorders > 0) {
int i = 0;
for (int x = 0; x < (currentPage - 1) * lineSize; x++) {
rs.next();
}
// 对于输出代码之前要求按显示的页数空出
for (int x = 0; x < lineSize; x++) {
if (rs.next()) {
i++;
%>
<tr>
<td bgcolor="#FFFFFF" height="20" align="center" ><%=i %></td>
<td bgcolor="#FFFFFF" align="center"><%=rs.getString("title")%></td>
<td bgcolor="#FFFFFF" align="center"><%=rs.getString("remark")%></td>
<td bgcolor="#FFFFFF" align="center"><%=rs.getString("inputdate")%></td>
<td bgcolor="#FFFFFF" align="center"><%=rs.getString("u1")%></td>
<td bgcolor="#FFFFFF" align="center"><%=rs.getString("u2")%></td>
<td bgcolor="#FFFFFF" align="center">
<%if("0".equals(rs.getString("status"))){ %>未签收<%} %>
<%if("1".equals(rs.getString("status"))){ %>已签收<%} %>
<%if("2".equals(rs.getString("status"))){ %>已退回<%} %>
</td>
<td bgcolor="#FFFFFF" align="center"><%=rs.getString("typename")%></td>
<td bgcolor="#FFFFFF" align="center">
<a href="/fileweb/upload/<%=rs.getString("url")%>" >下载</a>
</td>
</tr>
<%
}
}
}
%>
</table></td>
</tr>
<tr>
<td>
<%
if (allRecorders > 0) {
%>
<center><br>
<font size="2">
<input type="button" value="首页" onClick="openPage(1)"
<%=currentPage == 1 ? "disabled" : ""%>>
<input type="button" value="上一页"
onClick="openPage(<%=currentPage - 1%>)"
<%=currentPage == 1 ? "disabled" : ""%>>
<input type="button" value="下一页"
onClick="openPage(<%=currentPage + 1%>)"
<%=currentPage == pageSize ? "disabled" : ""%>>
<input type="button" value="尾页" onClick="openPage(<%=pageSize%>)"
<%=currentPage == pageSize ? "disabled" : ""%>>
<input type="hidden" name="cp" value="">
</font>
</center>
<%}%>
</td>
</tr>
</table></td>
</tr>
</table></td>
</form>
</body>
界面展示:
二、具体改进:后端
-
1.实现检索功能中文查找
实现原理:因编码不支持中文,所以检索功能不支持中文,中文存入数据库自动转成一段代表中文的码串,将这段码串在mysql数据库中重新更改为中文即可实现中文检索。 -
2.传输记录功能实现
具体代码:
<%
int count = 0;//记录数
// 进行乱码处理
request.setCharacterEncoding("GB2312");
// 定义如下分页变量
// 1、定义没页要显示的记录数
int lineSize = 5;
// 2、定义一个当前是第几页
int currentPage = 1;
// 计算出总页数
int pageSize = 0;
// 总记录数 / 每页显示的记录数
int allRecorders = 30;
// 加入查询关键字变量
// 接收查询关键字
String keyWord1 = null;
keyWord1 = request.getParameter("fname");
if(keyWord1==null){
keyWord1="";
}else{
try{
//String(byte[] bytes, Charset charset)
//通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String
System.out.println(keyWord1);
// keyWord1=(new String(keyWord1.getBytes("iso-8859-1"),"UTF-8")).trim();
System.out.println(keyWord1);
}catch(Exception e){
e.printStackTrace(System.err);
}
}
// 接收传过来的当前页
try {
currentPage = Integer.parseInt(request.getParameter("cp"));
} catch (Exception e) {
}
try {
PreparedStatement pstmt = null;
String sql = null;
if (keyWord1 == null||"".equals(keyWord1)) {
// 如果为空则没有查询,表示查询出全部
sql = "select count(*) from t_file f ,t_filetype t where f.typeid = t.id and ( f.fromuser = '"+(String)session.getAttribute("id")+"' or f.touser = '"+(String)session.getAttribute("id")+"' ) ";
} else {
//如果KeyWord有值 则执行模糊查询
sql = "select count(*) from t_file f ,t_filetype t where f.typeid = t.id and ( f.fromuser = '"+(String)session.getAttribute("id")+"' or f.touser = '"+(String)session.getAttribute("id")+"' ) and t.title like '%"+keyWord1+"%'";
}
System.out.println(sql);
pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
allRecorders = rs.getInt(1);
}
rs.close();
pstmt.close();
// 计算总页数
pageSize = (allRecorders + lineSize - 1) / lineSize;
if (keyWord1 == null||"".equals(keyWord1)) {
// 如果为空则没有查询,表示查询出全部
sql = "select f.title,f.remark,f.inputdate,f.status,f.typeid,u1.realname as u1,u2.realname as u2,t.typename,f.url from t_file f ,t_filetype t,t_user u1,t_user u2 where u1.id = f.fromuser and u2.id = f.touser and f.typeid = t.id and ( f.fromuser = '"+(String)session.getAttribute("id")+"' or f.touser = '"+(String)session.getAttribute("id")+"' ) ";
} else {
//如果KeyWord有值 则执行模糊查询
sql = "select f.title,f.remark,f.inputdate,f.status,f.typeid,u1.realname as u1,u2.realname as u2,t.typename,f.url from t_file f ,t_filetype t,t_user u1,t_user u2 where u1.id = f.fromuser and u2.id = f.touser and f.typeid = t.id and ( f.fromuser = '"+(String)session.getAttribute("id")+"' or f.touser = '"+(String)session.getAttribute("id")+"' ) and t.title like '%"+keyWord1+"%'";
}
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
%>
三、项目进展
姓名 | 今日进展 | 明日安排 |
---|---|---|
董佳帅 | 精简数据库代码,协助完善后端代码 | 测试数据库内容 |
王竞锐 | 完善后端增加内容 | 测试数据库内容 |
刘嘉祺 | 完善前端界面 | 测试前端界面 |
戴君熹 | 协助完善后端增加功能,安排任务串联工作 | 进行整体功能测试 |
唐子越 | 协助精简数据库代码,完善后端增加功能 | 测试后端功能 |