- 浏览: 172491 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
gwill_21:
dwr.xml找不到怎么办,难道要自己手写dwr.xml?痛苦 ...
DWR框架 —— 用户注册验证 -
recoba7:
MLDN魔乐科技 Oracle学习笔记 (5) -
lanni2460:
呵呵 尽管现在才看到这个 但是我真的觉得 李老师 讲的很好呢 ...
严重声明,那些恶意诋毁MLDN及李兴华老师的其他培训机构统统走开 -
chian_xxp:
只要把功能实现了,代码结构合理了,代码性能提高了,该注意的注意 ...
业务、业务、业务。。。 -
wzpbb:
密码多少啊??? 给一下啊
MLDN 魔乐科技 Oracle 学习笔记(2)
计划内任务
任务编号
任务名称
最晚结束日期
工作量
任务完成标准
完成状态
1
修改区域删除部分
2009/05/04
2009/05/04
被企业表[company]表外键引用的区域信息不可以删除,系统给出提示“无法删除区域 XXX ,该数据已被引用!”。
Y
2
企业列表
2009/05/04
2009/05/04
在系统管理页,点击 企业 ,从企业表中查询出全部数据显示到列表页中,并添加分页,在右上方添加“新建企业客户”按钮。
Y
3
新增企业
2009/05/04
2009/05/04
在企业列表界面中点击“新建企业客户”按钮,系统转到新增企业界面,界面中显示如下字段:
企业名称: (非空验证,唯一性验证)
联系人: (非空验证)
联系方式: (非空验证)
企业地址: (非空验证)
信用级别: (非空验证,数字类型验证)
信用额度: (非空验证,数字类型验证)
所在区域:(下拉列表,显示系统的区域元数据)
用户在新增企业界面上点击“确定”按钮,系统将企业信息保存到数据库中。并返回企业列表页面,系统提示“新增成功!”。
Y
4
修改企业
2009/05/04
2009/05/04
区域列表界面中点击“修改”按钮,系统转到修改区域界面,界面中显示此企业用户的相应信息,更新数据后,用户在修改区域界面上点击“更新”按钮,系统将修改后的企业信息保存到数据库中。并返回企业列表页面,系统提示“修改成功!”。
Y
5
删除企业
2009/05/04
2009/05/04
用户在企业列表界面中点击“删除”按钮,系统提示“确认要删除该企业吗?”,用户确认后,删除用户所选数据,删除所选数据后,刷新企业列表页,并提示“删除成功!”,被TASK表外键引用的企业信息不可以删除,系统给出提示“无法删除, 该数据已被引用!”。
P
6
查看企业
2009/05/04
2009/05/04
在企业列表界面中点击“查看”按钮,系统转到企业详细信息界面,界面中显示相应信息。用户在企业详细信息界面上点击“返回列表”按钮,系统将返回企业列表页面。
Y
7
服务项目列表
2009/05/04
2009/05/05
在系统管理页面中,点击项目按钮,查询出全部项目信息,列表显示于引页面中,并添加分页,右上角添加“新建任务项目”按钮。
Y
8
新增服务项目
2009/05/04
2009/05/05
在服务项目列表界面中点击“新增”按钮,系统转到新增服务项目界面,界面中显示如下字段:
项目名称(非空验证,唯一性验证)
处理费用(非空验证,数字类型验证)
处理时间(非空验证,数字类型验证)
用户在新增服务项目界面上点击“确定”按钮,系统将服务项目信息保存到数据库中。并返回服务项目列表页面,系统提示“新增成功!”。
Y
9
修改服务项目
2009/05/04
2009/05/05
在服务项目列表界面中点击“修改”按钮,系统转到修改界面,界面中显示此任务的详细信息于相应位置,用户在修改界面上点击“更新”按钮,系统将修改后的服务项目信息保存到数据库中。并返回服务项目列表页面,系统提示“修改成功!”。
Y
10
删除服务项目
2009/05/04
2009/05/05
用户在服务项目列表界面中点击“删除”按钮,系统提示“确认要删除该项目吗?”,用户确认后,删除用户所选服务项目,删除所选数据后,刷新服务项目列表页,并提示“删除成功!”,被任务表[task]外键引用的服务项目信息不可以删除,系统给出提示“无法删除XXX ,该数据已被引用!”。
Y
11
查看服务项目
2009/05/04
2009/05/05
在服务项目列表界面中点击“查看”按钮,系统转到项目详细信息界面,根据此项目id查询出详细信息显示到页面中。用户在详细信息界面上点击“返回列表”按钮,系统将返回服务项目列表页面。
Y
临时任务
遇到的问题及解决方式
4.1.1. 关于客户端跳转传递参数的中文乱码问题
问题:
添加企业信息
1、页面代码:
<tr>
<td width="80" align="left" class="text_14_gray">企业名称:</td>
<td width="200" align="left" class="text_14_gray"><input type="text" name="title" onchange="checkTitle(this.value);" value="${requestScope.title }">
<span id="checkTitle" style="color:#6600FF">${requestScope.useableness}</span>
</td>
</tr>
当输入企业名称后,进行名称唯一性检查(通过JavaScript跳转)
function checkTitle(title){
var type="insert";
window.location = "<%=request.getContextPath()%>/logincheck/admin/CompanyServlet?operateType=checktitle&title="+title +"&type="+type ;
}
这样就涉及到传递输入的企业名称title,如果是中文,接收的时候会出现乱码
2、CompanyServlet代码
if("checktitle".equals(operateType)){
String type=request.getParameter("type");
String title=request.getParameter("title");
String title=new String(request.getParameter("title").getBytes("ISO8859-1"));
Company com=null;
try {
com = DAOFactory.getICompanyDAOInstance().findByCompanyTitle(title);
} catch (Exception e) {
e.printStackTrace();
}
String useableness="该企业信息已存在!";
if(com==null){
useableness="该企业名称可用!";
}
request.setAttribute("useableness", useableness);
if("insert".equals(type)){
path="/logincheck/admin/CompanyServlet?operateType=insertpre&useableness="+useableness+"&title="+title;
}else if("update".equals(type)){
int id=Integer.parseInt(request.getParameter("id"));
path="/logincheck/admin/CompanyServlet?operateType=updatepre&useableness="+useableness+"&title="+title+"&id="+id;
}
}else if("insertpre".equals(operateType)){
Map<Integer,String> allArea=null;
try {
allArea=DAOFactory.getIAreaDAOInstance().getAllArea();
} catch (Exception e) {
e.printStackTrace();
}
String useableness=request.getParameter("useableness");
request.setAttribute("useableness", useableness);
String title=request.getParameter("title");
request.setAttribute("title", title);
request.setAttribute("allArea", allArea);
path="/logincheck/admin/addcompany.jsp";
}else if("insert".equals(operateType)){
String title=request.getParameter("title");
String linkman=request.getParameter("linkman");
String tel=request.getParameter("tel");
String address=request.getParameter("address");
Double creditsLimit=Double.parseDouble(request.getParameter("creditsLimit"));
int areaid=Integer.parseInt(request.getParameter("areaid"));
String atitle=null;
try {
atitle=DAOFactory.getIAreaDAOInstance().getAreaTitleByAreaId(areaid);
} catch (Exception e) {
e.printStackTrace();
}
Company com=new Company();
com.setTitle(title);
com.setAreaid(areaid);
com.setAtitle(atitle);
com.setLinkman(linkman);
com.setTel(tel);
com.setAddress(address);
com.setCreditsLimit(creditsLimit);
boolean flag=false;
try {
flag=DAOFactory.getICompanyDAOInstance().doInsert(com);
} catch (Exception e) {
e.printStackTrace();
}
if(flag){
info="添加成功!!";
}else{
info="添加失败!!";
}
request.setAttribute("info", info);
forward="logincheck/admin/CompanyServlet?operateType=companymanage";
request.setAttribute("forward", forward);
path="/logincheck/message.jsp";
}
解决方法:修改CompanyServlet代码
if("checktitle".equals(operateType)){
String type=request.getParameter("type");
//String title=request.getParameter("title");
//这样中文会乱码
String title=new String(request.getParameter("title").getBytes("ISO8859-1"));
Company com=null;
try {
com = DAOFactory.getICompanyDAOInstance().findByCompanyTitle(title);
} catch (Exception e) {
e.printStackTrace();
}
String useableness="该企业信息已存在!";
if(com==null){
useableness="该企业名称可用!";
}
request.setAttribute("useableness", useableness);
if("insert".equals(type)){
path="/logincheck/admin/CompanyServlet?operateType=insertpre&useableness="+useableness+"&title="+title;
}else if("update".equals(type)){
int id=Integer.parseInt(request.getParameter("id"));
path="/logincheck/admin/CompanyServlet?operateType=updatepre&useableness="+useableness+"&title="+title+"&id="+id;
}
}else if("insertpre".equals(operateType)){
Map<Integer,String> allArea=null;
try {
allArea=DAOFactory.getIAreaDAOInstance().getAllArea();
} catch (Exception e) {
e.printStackTrace();
}
String useableness=request.getParameter("useableness");
request.setAttribute("useableness", useableness);
//此处属于服务器跳转过来的,不用特殊处理,特殊处理了反而出现???
// if(request.getParameter("useableness")!=null){
// request.setAttribute("useableness", new String(request.getParameter("useableness").getBytes("ISO8859-1")));
// }
String title=request.getParameter("title");
request.setAttribute("title", title);
//此处属于服务器跳转过来的,不用特殊处理???
// if(request.getParameter("title")!=null){
// request.setAttribute("title", new String(request.getParameter("title").getBytes("ISO8859-1")));
// }
request.setAttribute("allArea", allArea);
path="/logincheck/admin/addcompany.jsp";
}else if("insert".equals(operateType)){
String title=request.getParameter("title");
String linkman=request.getParameter("linkman");
String tel=request.getParameter("tel");
String address=request.getParameter("address");
Double creditsLimit=Double.parseDouble(request.getParameter("creditsLimit"));
int areaid=Integer.parseInt(request.getParameter("areaid"));
String atitle=null;
try {
atitle=DAOFactory.getIAreaDAOInstance().getAreaTitleByAreaId(areaid);
} catch (Exception e) {
e.printStackTrace();
}
Company com=new Company();
com.setTitle(title);
com.setAreaid(areaid);
com.setAtitle(atitle);
com.setLinkman(linkman);
com.setTel(tel);
com.setAddress(address);
com.setCreditsLimit(creditsLimit);
boolean flag=false;
try {
flag=DAOFactory.getICompanyDAOInstance().doInsert(com);
} catch (Exception e) {
e.printStackTrace();
}
if(flag){
info="添加成功!!";
}else{
info="添加失败!!";
}
request.setAttribute("info", info);
forward="logincheck/admin/CompanyServlet?operateType=companymanage";
request.setAttribute("forward", forward);
path="/logincheck/message.jsp";
}
修改的企业信息页面代码中,还需要注意,当添加了检查企业名称是否唯一的功能后,需要修改代码
<tr>
<td width="80" align="left" class="text_14_gray">企业名称:</td>
<td width="200" align="left" class="text_14_gray">
<%
String title=(String)request.getAttribute("title");
if(title!=null){
%>
<input type="text" name="title" onchange="checkTitle(this.value);" value="${requestScope.title }">
<%
}else{
%>
<input type="text" name="title" onchange="checkTitle(this.value);" value="${requestScope.company.title }">
<%
}
%>
<span id="checkTitle" style="color:#6600FF">${requestScope.useableness}</span>
</td>
</tr>
否则修改后的名称返回不到页面中,一返回就被原来的数据覆盖
任务编号
任务名称
最晚结束日期
工作量
任务完成标准
完成状态
1
修改区域删除部分
2009/05/04
2009/05/04
被企业表[company]表外键引用的区域信息不可以删除,系统给出提示“无法删除区域 XXX ,该数据已被引用!”。
Y
2
企业列表
2009/05/04
2009/05/04
在系统管理页,点击 企业 ,从企业表中查询出全部数据显示到列表页中,并添加分页,在右上方添加“新建企业客户”按钮。
Y
3
新增企业
2009/05/04
2009/05/04
在企业列表界面中点击“新建企业客户”按钮,系统转到新增企业界面,界面中显示如下字段:
企业名称: (非空验证,唯一性验证)
联系人: (非空验证)
联系方式: (非空验证)
企业地址: (非空验证)
信用级别: (非空验证,数字类型验证)
信用额度: (非空验证,数字类型验证)
所在区域:(下拉列表,显示系统的区域元数据)
用户在新增企业界面上点击“确定”按钮,系统将企业信息保存到数据库中。并返回企业列表页面,系统提示“新增成功!”。
Y
4
修改企业
2009/05/04
2009/05/04
区域列表界面中点击“修改”按钮,系统转到修改区域界面,界面中显示此企业用户的相应信息,更新数据后,用户在修改区域界面上点击“更新”按钮,系统将修改后的企业信息保存到数据库中。并返回企业列表页面,系统提示“修改成功!”。
Y
5
删除企业
2009/05/04
2009/05/04
用户在企业列表界面中点击“删除”按钮,系统提示“确认要删除该企业吗?”,用户确认后,删除用户所选数据,删除所选数据后,刷新企业列表页,并提示“删除成功!”,被TASK表外键引用的企业信息不可以删除,系统给出提示“无法删除, 该数据已被引用!”。
P
6
查看企业
2009/05/04
2009/05/04
在企业列表界面中点击“查看”按钮,系统转到企业详细信息界面,界面中显示相应信息。用户在企业详细信息界面上点击“返回列表”按钮,系统将返回企业列表页面。
Y
7
服务项目列表
2009/05/04
2009/05/05
在系统管理页面中,点击项目按钮,查询出全部项目信息,列表显示于引页面中,并添加分页,右上角添加“新建任务项目”按钮。
Y
8
新增服务项目
2009/05/04
2009/05/05
在服务项目列表界面中点击“新增”按钮,系统转到新增服务项目界面,界面中显示如下字段:
项目名称(非空验证,唯一性验证)
处理费用(非空验证,数字类型验证)
处理时间(非空验证,数字类型验证)
用户在新增服务项目界面上点击“确定”按钮,系统将服务项目信息保存到数据库中。并返回服务项目列表页面,系统提示“新增成功!”。
Y
9
修改服务项目
2009/05/04
2009/05/05
在服务项目列表界面中点击“修改”按钮,系统转到修改界面,界面中显示此任务的详细信息于相应位置,用户在修改界面上点击“更新”按钮,系统将修改后的服务项目信息保存到数据库中。并返回服务项目列表页面,系统提示“修改成功!”。
Y
10
删除服务项目
2009/05/04
2009/05/05
用户在服务项目列表界面中点击“删除”按钮,系统提示“确认要删除该项目吗?”,用户确认后,删除用户所选服务项目,删除所选数据后,刷新服务项目列表页,并提示“删除成功!”,被任务表[task]外键引用的服务项目信息不可以删除,系统给出提示“无法删除XXX ,该数据已被引用!”。
Y
11
查看服务项目
2009/05/04
2009/05/05
在服务项目列表界面中点击“查看”按钮,系统转到项目详细信息界面,根据此项目id查询出详细信息显示到页面中。用户在详细信息界面上点击“返回列表”按钮,系统将返回服务项目列表页面。
Y
临时任务
遇到的问题及解决方式
4.1.1. 关于客户端跳转传递参数的中文乱码问题
问题:
添加企业信息
1、页面代码:
<tr>
<td width="80" align="left" class="text_14_gray">企业名称:</td>
<td width="200" align="left" class="text_14_gray"><input type="text" name="title" onchange="checkTitle(this.value);" value="${requestScope.title }">
<span id="checkTitle" style="color:#6600FF">${requestScope.useableness}</span>
</td>
</tr>
当输入企业名称后,进行名称唯一性检查(通过JavaScript跳转)
function checkTitle(title){
var type="insert";
window.location = "<%=request.getContextPath()%>/logincheck/admin/CompanyServlet?operateType=checktitle&title="+title +"&type="+type ;
}
这样就涉及到传递输入的企业名称title,如果是中文,接收的时候会出现乱码
2、CompanyServlet代码
if("checktitle".equals(operateType)){
String type=request.getParameter("type");
String title=request.getParameter("title");
String title=new String(request.getParameter("title").getBytes("ISO8859-1"));
Company com=null;
try {
com = DAOFactory.getICompanyDAOInstance().findByCompanyTitle(title);
} catch (Exception e) {
e.printStackTrace();
}
String useableness="该企业信息已存在!";
if(com==null){
useableness="该企业名称可用!";
}
request.setAttribute("useableness", useableness);
if("insert".equals(type)){
path="/logincheck/admin/CompanyServlet?operateType=insertpre&useableness="+useableness+"&title="+title;
}else if("update".equals(type)){
int id=Integer.parseInt(request.getParameter("id"));
path="/logincheck/admin/CompanyServlet?operateType=updatepre&useableness="+useableness+"&title="+title+"&id="+id;
}
}else if("insertpre".equals(operateType)){
Map<Integer,String> allArea=null;
try {
allArea=DAOFactory.getIAreaDAOInstance().getAllArea();
} catch (Exception e) {
e.printStackTrace();
}
String useableness=request.getParameter("useableness");
request.setAttribute("useableness", useableness);
String title=request.getParameter("title");
request.setAttribute("title", title);
request.setAttribute("allArea", allArea);
path="/logincheck/admin/addcompany.jsp";
}else if("insert".equals(operateType)){
String title=request.getParameter("title");
String linkman=request.getParameter("linkman");
String tel=request.getParameter("tel");
String address=request.getParameter("address");
Double creditsLimit=Double.parseDouble(request.getParameter("creditsLimit"));
int areaid=Integer.parseInt(request.getParameter("areaid"));
String atitle=null;
try {
atitle=DAOFactory.getIAreaDAOInstance().getAreaTitleByAreaId(areaid);
} catch (Exception e) {
e.printStackTrace();
}
Company com=new Company();
com.setTitle(title);
com.setAreaid(areaid);
com.setAtitle(atitle);
com.setLinkman(linkman);
com.setTel(tel);
com.setAddress(address);
com.setCreditsLimit(creditsLimit);
boolean flag=false;
try {
flag=DAOFactory.getICompanyDAOInstance().doInsert(com);
} catch (Exception e) {
e.printStackTrace();
}
if(flag){
info="添加成功!!";
}else{
info="添加失败!!";
}
request.setAttribute("info", info);
forward="logincheck/admin/CompanyServlet?operateType=companymanage";
request.setAttribute("forward", forward);
path="/logincheck/message.jsp";
}
解决方法:修改CompanyServlet代码
if("checktitle".equals(operateType)){
String type=request.getParameter("type");
//String title=request.getParameter("title");
//这样中文会乱码
String title=new String(request.getParameter("title").getBytes("ISO8859-1"));
Company com=null;
try {
com = DAOFactory.getICompanyDAOInstance().findByCompanyTitle(title);
} catch (Exception e) {
e.printStackTrace();
}
String useableness="该企业信息已存在!";
if(com==null){
useableness="该企业名称可用!";
}
request.setAttribute("useableness", useableness);
if("insert".equals(type)){
path="/logincheck/admin/CompanyServlet?operateType=insertpre&useableness="+useableness+"&title="+title;
}else if("update".equals(type)){
int id=Integer.parseInt(request.getParameter("id"));
path="/logincheck/admin/CompanyServlet?operateType=updatepre&useableness="+useableness+"&title="+title+"&id="+id;
}
}else if("insertpre".equals(operateType)){
Map<Integer,String> allArea=null;
try {
allArea=DAOFactory.getIAreaDAOInstance().getAllArea();
} catch (Exception e) {
e.printStackTrace();
}
String useableness=request.getParameter("useableness");
request.setAttribute("useableness", useableness);
//此处属于服务器跳转过来的,不用特殊处理,特殊处理了反而出现???
// if(request.getParameter("useableness")!=null){
// request.setAttribute("useableness", new String(request.getParameter("useableness").getBytes("ISO8859-1")));
// }
String title=request.getParameter("title");
request.setAttribute("title", title);
//此处属于服务器跳转过来的,不用特殊处理???
// if(request.getParameter("title")!=null){
// request.setAttribute("title", new String(request.getParameter("title").getBytes("ISO8859-1")));
// }
request.setAttribute("allArea", allArea);
path="/logincheck/admin/addcompany.jsp";
}else if("insert".equals(operateType)){
String title=request.getParameter("title");
String linkman=request.getParameter("linkman");
String tel=request.getParameter("tel");
String address=request.getParameter("address");
Double creditsLimit=Double.parseDouble(request.getParameter("creditsLimit"));
int areaid=Integer.parseInt(request.getParameter("areaid"));
String atitle=null;
try {
atitle=DAOFactory.getIAreaDAOInstance().getAreaTitleByAreaId(areaid);
} catch (Exception e) {
e.printStackTrace();
}
Company com=new Company();
com.setTitle(title);
com.setAreaid(areaid);
com.setAtitle(atitle);
com.setLinkman(linkman);
com.setTel(tel);
com.setAddress(address);
com.setCreditsLimit(creditsLimit);
boolean flag=false;
try {
flag=DAOFactory.getICompanyDAOInstance().doInsert(com);
} catch (Exception e) {
e.printStackTrace();
}
if(flag){
info="添加成功!!";
}else{
info="添加失败!!";
}
request.setAttribute("info", info);
forward="logincheck/admin/CompanyServlet?operateType=companymanage";
request.setAttribute("forward", forward);
path="/logincheck/message.jsp";
}
修改的企业信息页面代码中,还需要注意,当添加了检查企业名称是否唯一的功能后,需要修改代码
<tr>
<td width="80" align="left" class="text_14_gray">企业名称:</td>
<td width="200" align="left" class="text_14_gray">
<%
String title=(String)request.getAttribute("title");
if(title!=null){
%>
<input type="text" name="title" onchange="checkTitle(this.value);" value="${requestScope.title }">
<%
}else{
%>
<input type="text" name="title" onchange="checkTitle(this.value);" value="${requestScope.company.title }">
<%
}
%>
<span id="checkTitle" style="color:#6600FF">${requestScope.useableness}</span>
</td>
</tr>
否则修改后的名称返回不到页面中,一返回就被原来的数据覆盖
发表评论
-
本小姐回来啦 —— 超级感谢MLDN
2009-08-10 13:24 1600我又回来了!哈哈,报告一个好消息,我已经成功入职博彦科 ... -
现在开始积极的找工作
2009-07-05 19:13 1176学习差不多了,得赶在毕业前找到一个工作啊,本小姐这段时 ... -
素质教育 —— 模拟面试
2009-06-30 19:10 1045今天一天都安排了职业素质的培养,包括简历的指导、技术面 ... -
EJB实体Bean开发的复合主键映射
2009-06-29 21:36 1686复合主键的映射:在Hibernate中是通过一个主键类来完成复 ... -
EJB实体Bean开发
2009-06-29 21:33 990EJB实体Bean开发的数据库连接采用数据源连接池的方式,因此 ... -
EJB3.0
2009-06-28 14:14 1233EJB是SUN公司提出的开发 ... -
JBoss服务器配置
2009-06-25 21:21 2079哦,哦,哦,EJB的准备课程啊。 这里开发使用的是 JB ... -
Spring结合iBATIS进行开发
2009-06-25 21:19 963使用Spring管理iBATIS完全可以参照Spring+Hi ... -
ibatis开发框架
2009-06-25 21:17 1258iBATIS为一个ORMapping框架,可以帮助开发人员完成 ... -
WebService分布式开发
2009-06-24 22:23 1908WebService:用来跨语言传递数据。 数据交互是通过XM ... -
北京下雨了
2009-06-18 19:56 773上次在公交车上,听到电视里放《北京下雨了》,那么北京今天 ... -
JQuery
2009-06-10 21:03 12621、JQuery的基本语法 ... -
AJAX中使用JSON
2009-06-10 21:02 1303在Java开发中,如果要使用JSON进行开发,需要一些支持,这 ... -
AJAX框架 —— JSON基本知识
2009-06-10 21:01 945我真想知道这年头到底有多少种框架。 1、JSON ... -
还应该多帮助同学,才能让自己进步快
2009-06-08 21:57 991今天对于本小姐来讲还真是相对轻松的一天啊,上周完成了任 ... -
业务、业务、业务。。。
2009-06-03 18:41 1142项目就是业务,项目中都是业务,技术就这么点东西,只要把 ... -
IBM Project 继续中ing....
2009-06-02 19:08 874项目就是要坚持的做下去,而且要想到做到最好,虽然框架很好 ... -
实际开发了
2009-06-01 18:17 880今天开始新的项目了,项目老师帮我们搭建好了SVN服务器, ... -
web学习笔记 —— 数据源
2009-05-31 19:56 1025使用数据源可以提升数据库的操作性能,当然,不管使用与否,对于程 ... -
SSH(Spring + Struts + Hibernate)
2009-05-31 19:47 2490Spring结合Hibernate ...
相关推荐
软件项目任务分解的类型有很多,例如清单、图表等。每种类型都有其特点和优点,项目经理可以根据项目的特点和需求选择合适的任务分解类型。 在项目执行过程中,WBS可以用于跟踪项目的进度和状态,以便于项目经理和...
综上所述,这个“多线程多任务的下载工具”项目使用C#语言开发,基于Windows Forms构建用户界面,并利用多线程技术实现并发下载。用户可以通过直观的界面来管理多个下载任务,而`ThreadMulti.cs`和`UI.cs`文件则承担...
从“TaskScheduler-master”这个压缩包文件名来看,这很可能是这个多任务调度器的源代码仓库。"master"分支通常代表项目的主要或默认分支,其中包含了最新的稳定版本代码。开发者可以下载并研究这些代码,理解其工作...
这个小项目涵盖了Android开发的多个方面,对于学习Android开发的初学者或希望提升技能的开发者来说,具有很高的实践价值。通过这个项目,开发者可以深入理解Android应用的架构设计,熟悉数据管理,以及如何构建一个...
2. "多任务下载工具.e":这是主程序文件,很可能包含了多任务下载器的核心逻辑,包括任务调度、线程管理、下载进度跟踪等功能。 3. "ly_wlyz_static.lib":这是一个静态链接库文件,可能包含了一些辅助功能或底层...
人工智能-项目实践-多任务-一个支持多线程,断点续传功能的Android下载工具 功能特性 断点续传 支持多线程 (目前版本仅支持单任务单线程,多任务才多线程,未来会继续完善单任务的多线程执行) 使用本项目的理由 可靠...
在本文中,我们将深入探讨如何使用Qt框架实现多任务下载功能。Qt是一个强大的跨平台应用程序开发框架,广泛用于创建...对于Qt初学者,这是一个很好的实践案例,有助于理解如何在实际项目中应用多线程和网络编程技术。
在80x86架构的早期,计算机运行在实模式下,这是一种限制性很强的模式,但通过巧妙的编程技巧,可以实现多任务处理。下面我们将详细探讨这个主题。 实模式是Intel 8088/8086处理器启动时默认的工作模式,它提供了1...
【多任务管理系统】是一个基于C#编程语言和WinForm框架开发的应用程序,旨在提供一个高效的任务分配、查询和更改的管理平台。对于初学者来说,这个项目是一个很好的学习资源,因为它的代码注释详尽,有助于理解每个...
本项目“多任务同时下载源码”是易语言编程环境下实现的一个实用示例,主要展示了如何在易语言中实现多线程、多任务的文件下载功能,对于个人学习、学生毕业设计以及小团队项目开发具有很高的参考价值。 首先,多...
尤其是在处理大文件下载时,传统的单线程下载方式可能会导致用户界面阻塞,无法进行其他操作,而多线程多任务下载则可以很好地解决这个问题。本文将详细讲解iOS中实现多线程多任务下载的核心知识点。 首先,我们...
标签“工具”表明这个示例可能是一个实用工具,可以被开发者用于他们的项目中,或者作为教学材料来帮助学习者理解多任务下载的实现方式。 “ListviewAndProgressBar”这个压缩包子文件的名称暗示了项目中可能使用了...
5. 任务分解的好处:敏捷项目任务分解可以使得项目需求更加明确和具体,提高项目的可管理性和可控性。 6.敏捷任务分解的步骤:敏捷任务分解的步骤包括将 Epic 分解成多个 story,将编写完成的 story 汇总到 backlog...
标题中的"stc15协同多任务例程keilC源码"主要涉及两个关键概念:STC15系列单片机和基于Keil C的协同多任务编程。STC15系列是STC公司生产的一系列8051内核的增强型单片机,它们具有低功耗、高速度和丰富的内置功能。...
本文将深入探讨“软件开发文档很多实用的软件开发项目”这一主题,结合“课件”、“软工阅读资料”和“上机任务”等文件,解析软件开发文档的重要性和实际应用。 首先,我们需要理解软件开发文档的种类及其作用。...
`taskPHP-master`目录很可能包含了框架的核心文件、示例任务、配置文件以及必要的文档。开发者可以通过阅读这些文件了解如何定义任务、配置调度规则以及如何启动和管理任务。 ### 7. 安装与使用 安装`taskPHP`通常...
6. **源码分析**:提供的"demo"文件很可能是实现多线程多任务下载的一个示例项目。通过分析这个示例,开发者可以学习如何创建和管理下载线程,以及如何实现断点续传功能。这有助于理解底层逻辑,从而在实际项目中更...
在这个例子中,项目可能包含了一些学习示例,如`Job`目录下的类,这些类可能代表了具体的定时任务实现,每个类通常会继承自`IFurionJob`接口,这个接口定义了任务的执行逻辑。 `appsettings.json` 和 `appsettings....
这个"多任务多线程demo.zip"是一个示例项目,展示了如何利用C#来实现一个多线程文件下载功能。下面我们将深入探讨这个主题。 首先,多任务是指在一个应用程序中同时运行多个独立的操作。在C#中,我们可以使用`Task`...
具体到名为“MYOS”的文件,这很可能是这个多任务内核的源代码或相关文档。通过深入研究这些文件,可以更详细地了解内核的设计和实现细节,如任务结构定义、调度算法的具体实现、时间服务的代码以及互斥机制的运用。...