没有合适的资源?快使用搜索试试~ 我知道了~
正确理解http会话管理
4星 · 超过85%的资源 需积分: 13 10 下载量 108 浏览量
2013-05-07
23:12:58
上传
评论
收藏 268KB PDF 举报
温馨提示
试读
11页
正确理解http会话管理,session,HTTP协议与状态保持,理解cookie机制,理解session机制...
资源推荐
资源详情
资源评论
正确理解 http 会话管理
前言
package com.bcomm.qamis.rate.web.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang.StringUtils;
import com.bcomm.framework.base.biz.service.BusinessServiceException;
import com.bcomm.framework.base.web.exception.WebException;
import com.bcomm.framework.common.Constants;
import com.bcomm.qamis.common.QAMISConstants;
import com.bcomm.qamis.document.parser.DocumentParser;
import com.bcomm.qamis.document.web.action.DocumentUploadAction;
import com.bcomm.qamis.rate.biz.service.RateService;
import com.bcomm.qamis.rate.dto.RateDTO;
import com.bcomm.qamis.rate.web.action.form.RateForm;
public class RateAction extends DocumentUploadAction{
private static final long serialVersionUID = 187845652893818913L;
private RateForm rateForm = new RateForm();
private RateService rateService;
private DocumentParser rateDocumentParser;
private boolean confirm = false;
public String input() throws WebException {
return QUERY;
}
public String list() throws WebException
{
try{
HashMap<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("proName", this.rateForm.getProName());
paramMap.put("reqCode", this.rateForm.getReqCode());
paramMap.put("resRateStatus", this.rateForm.getResRateStatus());
pageBean = this.rateService.queryByPage(paramMap, rateForm.getPage(), this.pageBean.pageSize);
return LIST;
}catch (Exception e)
{
throw new WebException(e.getMessage(), getText("error.messages.query.failed"));
}
}
public String uploadInit() throws WebException {
return EDIT;
}
@SuppressWarnings("unchecked")
public String upload() throws WebException {
String resRateDocId = null;
try {
boolean resRateStatusExist = false;
boolean requirementNotExist = false;
resRateDocId = this.uploadDocument(QAMISConstants.DOC_TYPE_RATE);
Map<String, Object> params = rateDocumentParser.parseDocument(getDoc());
List<RateForm> rateForms = (List<RateForm>) params.get(DocumentParser.RESULT_LIST);
for (RateForm rateForm : rateForms) {
RateDTO rateDTO = rateService.get(rateForm.getProName(), rateForm.getReqCode());
if(rateDTO == null){
requirementNotExist = true;
break;
}
if(StringUtils.isNotEmpty(rateDTO.getResRateStatus())){
rateForm.setResRateStatusExist(true);
resRateStatusExist = true;
}
rateForm.setReqId(rateDTO.getReqId());
rateForm.setResRateDocId(resRateDocId);
}
if(requirementNotExist){
this.deleteDocument(resRateDocId);
return FAILED;
}
if(resRateStatusExist){
// 取得 session 保存相关的值。
getSession().put(QAMISConstants.SESSION_DOC_ID, resRateDocId);
getSession().put(QAMISConstants.SESSION_RESULT_LIST, rateForms);
return CONFIRM;
}
updateRates(rateForms, true);
this.getRequest().setAttribute(Constants.MESSAGE, true);
return "ok";
} catch (Exception e) {
if(resRateDocId != null){
try {
this.deleteDocument(resRateDocId);
} catch (BusinessServiceException be) {
be.printStackTrace();
}
}
e.printStackTrace();
throw new WebException(e.getMessage(), getText("error.messages.upload.failed"));
}
}
@SuppressWarnings("unchecked")
public String confirm() throws WebException {
// 取得 session 相关的值。
List<RateForm> rateForms = (List<RateForm>) getSession().get(QAMISConstants.SESSION_RESULT_LIST);
String resRateDocId = (String) getSession().get(QAMISConstants.SESSION_DOC_ID);
try {
updateRates(rateForms, confirm);
this.getRequest().setAttribute(Constants.MESSAGE, true);
return "ok";
} catch (Exception e) {
try {
this.deleteDocument(resRateDocId);
} catch (BusinessServiceException be) {
be.printStackTrace();
}
e.printStackTrace();
throw new WebException(e.getMessage(), getText("error.messages.comfirm.failed"));
}
}
/**
* @param rateForms
* @param documentForm
* @throws Exception
*/
private void updateRates(List<RateForm> rateForms, boolean replace)
throws Exception {
List<RateDTO> rateDTOs = new ArrayList<RateDTO>();
for (RateForm form : rateForms) {
RateDTO rateDTO = new RateDTO();
剩余10页未读,继续阅读
资源评论
- javascript20102015-01-08很不错的资料,谢谢分享啦
- Dongfangyun2013-09-04很好的文档,学习了!
- ddddawzy2014-06-21恩,有一定的帮助!
jiangzhidong_2011
- 粉丝: 0
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于yolov5识别算法实现的DNF自动脚本源码.zip
- 基于Python实现的自动化办公项目.zip
- 基于python实现的基于PyQt5和爬虫的小说阅读系统.zip
- 机械设计整经机上纱自动化sw20非常好的设计图纸100%好用.zip
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功