package com.itbaizhan.smartupload;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
public class SmartUpload
{
protected byte m_binArray[];
protected HttpServletRequest m_request;
protected HttpServletResponse m_response;
protected ServletContext m_application;
private int m_totalBytes;
private int m_currentIndex;
private int m_startData;
private int m_endData;
private String m_boundary;
private long m_totalMaxFileSize;
private long m_maxFileSize;
private Vector m_deniedFilesList;
private Vector m_allowedFilesList;
private boolean m_denyPhysicalPath;
//private boolean m_forcePhysicalPath;
private String m_contentDisposition;
public static final int SAVE_AUTO = 0;
public static final int SAVE_VIRTUAL = 1;
public static final int SAVE_PHYSICAL = 2;
private SmartFiles m_files;
private SmartRequest m_formRequest;
public SmartUpload()
{
m_totalBytes = 0;
m_currentIndex = 0;
m_startData = 0;
m_endData = 0;
m_boundary = ""; //new String();
m_totalMaxFileSize = 0L;
m_maxFileSize = 0L;
m_deniedFilesList = new Vector();
m_allowedFilesList = new Vector();
m_denyPhysicalPath = false;
//m_forcePhysicalPath = false;
m_contentDisposition = ""; //new String();
m_files = new SmartFiles();
m_formRequest = new SmartRequest();
}
/**
* @deprecated Method init is deprecated
*/
public final void init(ServletConfig servletconfig) throws ServletException
{
m_application = servletconfig.getServletContext();
}
/**
* @deprecated Method service is deprecated
*/
public void service(HttpServletRequest httpservletrequest,HttpServletResponse httpservletresponse) throws ServletException,IOException
{
m_request = httpservletrequest;
m_response = httpservletresponse;
}
public final void initialize(ServletConfig servletconfig,HttpServletRequest httpservletrequest,HttpServletResponse httpservletresponse) throws ServletException
{
m_application = servletconfig.getServletContext();
m_request = httpservletrequest;
m_response = httpservletresponse;
}
public final void initialize(PageContext pagecontext) throws ServletException
{
m_application = pagecontext.getServletContext();
m_request = (HttpServletRequest)pagecontext.getRequest();
m_response = (HttpServletResponse)pagecontext.getResponse();
}
/**
* @deprecated Method initialize is deprecated
*/
public final void initialize(ServletContext servletcontext,HttpSession httpsession,HttpServletRequest httpservletrequest,HttpServletResponse httpservletresponse,JspWriter jspwriter) throws ServletException
{
m_application = servletcontext;
m_request = httpservletrequest;
m_response = httpservletresponse;
}
public void upload() throws ServletException,IOException,SmartUploadException
{
int i = 0;
//boolean flag = false;
boolean flag1 = false;
//boolean flag2 = false;
long l = 0L;
//String s = "";//new String();
//String s2 = "";//new String();
String s4 = ""; //new String();
String s5 = ""; //new String();
String s6 = ""; //new String();
String s7 = ""; //new String();
String s8 = ""; //new String();
String s9 = ""; //new String();
String s10 = ""; //new String();
m_totalBytes = m_request.getContentLength();
m_binArray = new byte[m_totalBytes];
int j;
for(;i < m_totalBytes;i += j)
{
try
{
m_request.getInputStream();
j = m_request.getInputStream().read(m_binArray,i,m_totalBytes - i);
}
catch(Exception exception)
{
throw new SmartUploadException("Unable to upload.");
}
}
for(;!flag1 && m_currentIndex < m_totalBytes;m_currentIndex++)
{
if(m_binArray[m_currentIndex] == 13)
{
flag1 = true;
}
else
{
m_boundary = m_boundary + (char)m_binArray[m_currentIndex];
}
}
if(m_currentIndex == 1)
{
return;
}
for(m_currentIndex++;m_currentIndex < m_totalBytes;m_currentIndex = m_currentIndex + 2)
{
String s1 = getDataHeader();
m_currentIndex = m_currentIndex + 2;
boolean flag3 = s1.indexOf("filename") > 0;
String s3 = getDataFieldValue(s1,"name");
if(flag3)
{
s6 = getDataFieldValue(s1,"filename");
s4 = getFileName(s6);
s5 = getFileExt(s4);
s7 = getContentType(s1);
s8 = getContentDisp(s1);
s9 = getTypeMIME(s7);
s10 = getSubTypeMIME(s7);
}
getDataSection();
if(flag3 && s4.length() > 0)
{
if(m_deniedFilesList.contains(s5))
{
throw new SecurityException("The extension of the file is denied to be uploaded (1015).");
}
if(!m_allowedFilesList.isEmpty() && !m_allowedFilesList.contains(s5))
{
throw new SecurityException("The extension of the file is not allowed to be uploaded (1010).");
}
if(m_maxFileSize > 0L && (long)((m_endData - m_startData) + 1) > m_maxFileSize)
{
throw new SecurityException("Size exceeded for this file : " + s4 + " (1105).");
}
l += (m_endData - m_startData) + 1;
if(m_totalMaxFileSize > 0L && l > m_totalMaxFileSize)
{
throw new SecurityException("Total File Size exceeded (1110).");
}
}
if(flag3)
{
SmartFile file = new SmartFile();
file.setParent(this);
file.setFieldName(s3);
file.setFileName(s4);
file.setFileExt(s5);
file.setFilePathName(s6);
file.setIsMissing(s6.length() == 0);
file.setContentType(s7);
file.setContentDisp(s8);
file.setTypeMIME(s9);
file.setSubTypeMIME(s10);
if(s7.indexOf("application/x-macbinary") > 0)
{
m_startData = m_startData + 128;
}
file.setSize((m_endData - m_startData) + 1);
file.setStartData(m_startData);
file.setEndData(m_endData);
m_files.addFile(file);
}
else
{
String s11 = new String(m_binArray,m_startData,(m_endData - m_startData) + 1);
m_formRequest.putParameter(s3,s11);
}
if((char)m_binArray[m_currentIndex + 1] == '-')
{
break;
}
}
}
public int save(String s) throws ServletExcep
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于JSP的网上订餐管理系统的设计与实现 总共2个模块 1.前台模块: (1)食品展示模块 (2)食品查询模块 (3)购物车模块 (4)收银台模块 (5)用户维护模块 (6)订单查询模块 (7)公告模块 2.后台模块: (1)食品管理模块 (2)用户管理模块 (3)管理员维护模块 (4)订单管理模块 (5)公告管理模块 (6)留言管理模块 网上订餐管理系统主要包括了9张数据表 餐品菜品信息数据表c_book 用户顾客注册数据表表member 管理员数据表admin 餐品菜品类别数据表c_booktype 用户评论数据表comment 订餐车数据表gouwuche 营养小贴士数据表news 订单数据表num 订单详情信息数据表orderbook 其中最为重要的5张数据表,将会在详细描述其表结构。
资源推荐
资源详情
资源评论
收起资源包目录
基于JSP的网上订餐管理系统.rar (224个子文件)
SmartUpload.class 16KB
SmartFile.class 6KB
AddBookServlet.class 4KB
ShoppingServlet.class 4KB
LoanBookServlet.class 4KB
ListServlet.class 4KB
DelServlet.class 4KB
PwdNameUserServlet.class 3KB
StatisticServlet.class 3KB
LeaveWordServlet.class 3KB
ModifyUserServlet.class 3KB
OrderList2Servlet.class 3KB
UpdateBookServlet.class 3KB
KuXiaoServlet.class 3KB
ReckoningBean.class 3KB
OrderListServlet.class 3KB
RegServlet.class 3KB
OrderList1Servlet.class 3KB
SearchServlet.class 3KB
GetbackPwdServlet.class 3KB
StockAddServlet.class 3KB
BookinfServlet.class 3KB
ServletUpload.class 3KB
BeforehandBookServlet.class 3KB
ShowUserServlet.class 3KB
UpdateTypeServlet.class 3KB
EmpAddServlet.class 2KB
EmpSearchServlet.class 2KB
NutritionAddServlet.class 2KB
AdminLoginServlet.class 2KB
AdminShowUserServlet.class 2KB
ReckoningServlet.class 2KB
ContinueBookServlet.class 2KB
EmpEstateServlet.class 2KB
AddTypeServlet.class 2KB
UserLoginServlet.class 2KB
EmpReworkServlet.class 2KB
AdminLoginBean.class 2KB
UserLoginBean.class 2KB
HuanBookServlet.class 2KB
SelectBean.class 2KB
RemoveServlet.class 2KB
SmartRequest.class 2KB
SmartFiles.class 2KB
Validate.class 2KB
SessLoginServlet.class 2KB
SessAdminServlet.class 2KB
DBConn.class 1KB
InsertUpdateDelBean.class 1KB
SmartUploadException.class 462B
.classpath 697B
org.eclipse.wst.common.component 450B
org.eclipse.wst.jsdt.ui.superType.container 49B
lucfron.css 3KB
css.css 1KB
基于JSP的网上订餐管理系统的设计与实现中期检查表.doc 35KB
基于JSP的网上订餐管理系统的设计与实现设计任务书 .doc 34KB
基于jsp的网上订餐系统的设计与实现.docx 1.58MB
bgtp.gif 624KB
tpbg.gif 204KB
djianggujia.gif 20KB
djiangzhuer.gif 19KB
dhuanggualapi.gif 19KB
dlvrou.gif 18KB
ddagusuancai.gif 18KB
dmuxurou.gif 18KB
dqianggandoufusi.gif 18KB
dzhuroiudunfentiao.gif 17KB
tt22.gif 7KB
view0.gif 4KB
emptybook.gif 3KB
tt2.gif 3KB
cart04.gif 2KB
cart02.gif 2KB
b4.gif 2KB
cart01.gif 2KB
hydl.gif 2KB
复件 (3) cpflnew.gif 1KB
复件 cpflnew.gif 1KB
cpflnew.gif 1KB
复件 (2) cpflnew.gif 1KB
tu1.gif 971B
close.gif 954B
goumai2.gif 920B
goumai.gif 913B
goumai1.gif 864B
shopcart2.gif 856B
view2.gif 648B
dp_bg.gif 636B
dp_bg3.gif 603B
th_img.gif 465B
th_img2.gif 465B
tu2.gif 227B
index_01.gif 202B
trash.gif 179B
class1.gif 178B
class2.gif 174B
bg_bot.gif 168B
th_bg.gif 85B
class3.gif 79B
共 224 条
- 1
- 2
- 3
资源评论
- qq_399370632021-02-17数据库是空的啊
- 星空*秋雨2020-06-09有几个jsp没有,数据库是空的
- 余依忈2020-02-12有几个jsp没有,数据库是空的怎么回事程序员DD2020-02-12私信已发你了,打包的时候给漏了抱歉
程序员DD
- 粉丝: 1113
- 资源: 99
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 徐州市区shp边界文件
- 简易数字频率计设计(原理图、PCB、源码、分析报告)
- 20225207038罗丽文财管专2201班.rar
- Golang:通过Gin框架+Redis+责任链,实现一个简单的钉钉机器人,进行消息处理 ps:多应用版
- 基于cnn和AlexNet的铝材缺陷检测内含数据集和demo原型2种方法
- 2023年各城市PM2.5, PM10, SO2, NO2等环境空气质量数据
- go 语言 实现的 使用modbus 协议 通过DTU tcp 链接 采集数据
- SHELL脚本(全是干货)
- Windows屏幕录屏软件
- 2022年各城市PM2.5, PM10, SO2, NO2等环境空气质量数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功