- 浏览: 176865 次
- 性别:
- 来自: 成都
-
文章分类
最新评论
-
gwill_21:
dwr.xml找不到怎么办,难道要自己手写dwr.xml?痛苦 ...
DWR框架 —— 用户注册验证 -
recoba7:
MLDN魔乐科技 Oracle学习笔记 (5) -
lanni2460:
呵呵 尽管现在才看到这个 但是我真的觉得 李老师 讲的很好呢 ...
严重声明,那些恶意诋毁MLDN及李兴华老师的其他培训机构统统走开 -
chian_xxp:
只要把功能实现了,代码结构合理了,代码性能提高了,该注意的注意 ...
业务、业务、业务。。。 -
wzpbb:
密码多少啊??? 给一下啊
MLDN 魔乐科技 Oracle 学习笔记(2)
项目的开发分两个阶段,今天是第一个阶段的最后一天,明天开始要学习Struts和AJAX了,感觉好象很难一样,慢慢来,可以学会,要相信自己.
计划内任务
任务编号
任务名称
最晚结束日期
工作量
任务完成标准
完成状态
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. 遇到的问题及解决方式(必填)
________________________________________
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. 遇到的问题及解决方式(必填)
________________________________________
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 1633我又回来了!哈哈,报告一个好消息,我已经成功入职博彦科 ... -
现在开始积极的找工作
2009-07-05 19:13 1205学习差不多了,得赶在毕业前找到一个工作啊,本小姐这段时 ... -
素质教育 —— 模拟面试
2009-06-30 19:10 1096今天一天都安排了职业素质的培养,包括简历的指导、技术面 ... -
EJB实体Bean开发的复合主键映射
2009-06-29 21:36 1720复合主键的映射:在Hibernate中是通过一个主键类来完成复 ... -
EJB实体Bean开发
2009-06-29 21:33 1015EJB实体Bean开发的数据库连接采用数据源连接池的方式,因此 ... -
EJB3.0
2009-06-28 14:14 1267EJB是SUN公司提出的开发 ... -
JBoss服务器配置
2009-06-25 21:21 2101哦,哦,哦,EJB的准备课程啊。 这里开发使用的是 JB ... -
Spring结合iBATIS进行开发
2009-06-25 21:19 1017使用Spring管理iBATIS完全可以参照Spring+Hi ... -
ibatis开发框架
2009-06-25 21:17 1306iBATIS为一个ORMapping框架,可以帮助开发人员完成 ... -
WebService分布式开发
2009-06-24 22:23 1939WebService:用来跨语言传递数据。 数据交互是通过XM ... -
北京下雨了
2009-06-18 19:56 797上次在公交车上,听到电视里放《北京下雨了》,那么北京今天 ... -
JQuery
2009-06-10 21:03 12951、JQuery的基本语法 ... -
AJAX中使用JSON
2009-06-10 21:02 1323在Java开发中,如果要使用JSON进行开发,需要一些支持,这 ... -
AJAX框架 —— JSON基本知识
2009-06-10 21:01 975我真想知道这年头到底有多少种框架。 1、JSON ... -
还应该多帮助同学,才能让自己进步快
2009-06-08 21:57 1034今天对于本小姐来讲还真是相对轻松的一天啊,上周完成了任 ... -
业务、业务、业务。。。
2009-06-03 18:41 1185项目就是业务,项目中都是业务,技术就这么点东西,只要把 ... -
IBM Project 继续中ing....
2009-06-02 19:08 908项目就是要坚持的做下去,而且要想到做到最好,虽然框架很好 ... -
实际开发了
2009-06-01 18:17 929今天开始新的项目了,项目老师帮我们搭建好了SVN服务器, ... -
web学习笔记 —— 数据源
2009-05-31 19:56 1058使用数据源可以提升数据库的操作性能,当然,不管使用与否,对于程 ... -
SSH(Spring + Struts + Hibernate)
2009-05-31 19:47 2519Spring结合Hibernate ...
相关推荐
【标题】"jsp+mysql+struts实现的一个财务管理系统"涉及了三个主要技术:Struts、MySQL和JSP,这些都是Web开发中常见的组件。本文将详细介绍这三个技术在财务管理系统中的应用及其相互配合。 **1. Struts框架** ...
最后,`Struts2Test2`可能是一个测试项目或者包含测试代码的目录。在实际开发中,你可能会编写单元测试或集成测试来确保登录和上传功能的正确性。这可能包括使用JUnit、Mockito等工具来模拟HTTP请求和数据库交互,...
在这个“struts1+spring+hibernate+freemarker一个小例子”中,我们将探讨这四个组件如何协同工作,以及它们各自的核心功能。 首先,Struts1是MVC(模型-视图-控制器)设计模式的一个实现,主要用于处理HTTP请求和...
Struts是一个基于MVC(Model-View-Controller)设计模式的框架,主要负责处理用户请求和控制业务流程,而Hibernate则是一个对象关系映射(ORM)框架,用于简化数据库操作。 **Struts框架详解:** Struts框架是...
本教程将通过一个入门级的小例子来帮助新手理解并搭建Struts2框架,让你快速上手这个流行的开源框架。 首先,你需要了解Struts2的核心概念。Struts2框架基于拦截器模型,通过一系列拦截器链来处理HTTP请求。这些...
Struts框架是Java Web开发中的一个经典框架,它极大地简化了MVC(Model-View-Controller)模式的应用。在大型项目中,数据的分页显示是必不可少的功能,它能够提高用户体验,避免一次性加载大量数据导致的性能问题。...
6. **ExamManager**:这个文件名可能是项目中的一个管理类或者模块,可能负责整个抽奖流程的管理,包括用户参与资格检查、抽奖逻辑实现、结果保存等。 7. **配置文件**:Struts框架依赖于struts-config.xml配置文件...
在本“Struts课程模块测试”中,学生需要利用MyEclipse开发工具来实现一个基于Struts的Web项目,其核心功能是判断一个字符串是否为另一个字符串的前缀。 首先,创建一个新的Web项目“Prefix”,这是开发的基础。在...
这个"struts2 小Demo"是一个基础的学习实践,旨在帮助初学者理解Struts2的核心概念和工作原理。在这个小实例中,我们将探讨如何通过Struts2实现一个简单的用户添加功能。 首先,Struts2的基础架构基于Model-View-...
Struts是Java Web开发中的一个开源框架,由Apache软件基金会维护。它主要基于Model-View-Controller(MVC)设计模式,旨在简化企业级应用程序的开发。本篇将深入讲解Struts的核心流程、标签库、验证框架以及其特性。...
Struts是Apache软件基金会下的一个开源项目,主要提供MVC(Model-View-Controller)架构模式,用于构建Java EE(Enterprise Edition)Web应用程序。Struts2是Struts1的升级版,它在Struts1的基础上引入了许多改进...
最后,Struts 2.3.20 引入了一个名为 `org/apache/struts2/views/TagLibrary` 的新接口,虽然被标记为 @Deprecated,但这是一个过渡性的改变,可能是为了未来的版本改进。 在升级过程中,需要注意替换相应的 JAR 包...
在本示例中,“StrutsJson”可能是服务端的一个模块,它利用Struts2的JSON结果类型来发送和接收JSON格式的数据。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...
Tiles则是Struts1.2的一个扩展,它允许开发者创建可重用的页面组件,实现了页面的模块化设计。 接着,手册会详细阐述配置文件struts-config.xml的重要性。这是Struts1.2应用的核心配置文件,定义了Action映射、Form...
Struts2是一个基于MVC设计模式的Java web框架,它极大地简化了企业级应用的开发。以下是关于Struts2的一些核心知识点的详细说明: 1. **环境搭建**:要搭建Struts2的开发环境,首先需要配置Tomcat服务器和JDK。接着...
Struts2教程是一个非常有价值的资源,它可以帮助我们深入了解和学习这个强大的MVC框架。Struts2作为Apache软件基金会的一个项目,是Java Web开发中的一个重要工具,尤其在企业级应用中广泛应用。相较于其前身Struts1...
Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、模块化和高度控制的MVC(模型-视图-控制器)结构的应用程序。它继承了Struts1的优点,并结合了其他框架如WebWork的核心特性,提供了更高效、灵活的...
它根据`struts-config.xml`的配置将请求转发给相应的Action,Action处理请求后返回结果,最后由Struts框架决定如何显示结果,这通常涉及渲染一个JSP页面。 5. **生命周期**:当用户发起请求,Struts框架会创建...
最后,`mod1`可能表示一个模块,Struts支持多模块应用,每个模块可以有自己的Action、JSP和配置文件。`mod1`下可能包含类似`WEB-INF`目录结构的子目录,用于存放该模块的特定配置和资源。 总结一下,这个基础的...