package 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 ServletException,IOExcepti
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本系统将java作为主要的开发语言,利用eclipse +sql进行系统的程序设计和数据库设计,同时使用tomcat平台,在这些工具的帮助下,完成了宾馆客房管理系统的设计与实现。内含项目完整代码,数据库及配套报告。
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计:基于Web的宾馆客房管理系统 (165个子文件)
SmartUpload.class 16KB
SmartFile.class 6KB
ListServlet.class 4KB
AddBookServlet.class 4KB
ShoppingServlet.class 4KB
LoanBookServlet.class 4KB
PwdNameUserServlet.class 3KB
UpdateBookServlet.class 3KB
DelServlet.class 3KB
ModifyUserServlet.class 3KB
ReckoningBean.class 3KB
KuXiaoServlet.class 3KB
OrderListServlet.class 3KB
RegServlet.class 3KB
SearchServlet.class 3KB
OrderList1Servlet.class 3KB
ServletUpload.class 3KB
BookinfServlet.class 3KB
ShowUserServlet.class 3KB
BeforehandBookServlet.class 3KB
LeaveWordServlet.class 3KB
UpdateTypeServlet.class 2KB
AdminShowUserServlet.class 2KB
AdminLoginServlet.class 2KB
ReckoningServlet.class 2KB
ContinueBookServlet.class 2KB
UserLoginServlet.class 2KB
AdminLoginBean.class 2KB
UserLoginBean.class 2KB
SelectBean.class 2KB
HuanBookServlet.class 2KB
AddTypeServlet.class 2KB
RemoveServlet.class 2KB
SmartRequest.class 2KB
SmartFiles.class 2KB
Validate.class 2KB
SessAdminServlet.class 2KB
SessLoginServlet.class 2KB
DBConn.class 1KB
InsertUpdateDelBean.class 1KB
SmartUploadException.class 370B
.classpath 811B
org.eclipse.wst.common.component 450B
org.eclipse.wst.jsdt.ui.superType.container 49B
css.css 1KB
基于Web的宾馆客房管理系统的设计与实现.doc 1.81MB
maininfo.gif 12KB
emptybook.gif 4KB
cart04.gif 2KB
cart02.gif 2KB
xsph.gif 2KB
cart01.gif 2KB
hydl.gif 2KB
view0.gif 2KB
cpfl.gif 2KB
tu1.gif 930B
goumai1.gif 888B
goumai.gif 888B
shopcart2.gif 856B
tu2.gif 849B
view2.gif 648B
dp_bg.gif 604B
dp_bg3.gif 603B
th_img2.gif 465B
th_img.gif 465B
trash.gif 179B
class1.gif 178B
class2.gif 174B
bg_bot.gif 168B
th_bg.gif 85B
class3.gif 79B
tu_bg.gif 56B
bj_x1.gif 51B
sqljdbc.jar 570KB
msbase.jar 280KB
mssqlserver.jar 65KB
msutil.jar 58KB
SmartUpload.java 27KB
SmartFile.java 7KB
ListServlet.java 4KB
ShoppingServlet.java 4KB
AddBookServlet.java 3KB
PwdNameUserServlet.java 3KB
LoanBookServlet.java 3KB
DelServlet.java 3KB
UpdateBookServlet.java 3KB
ServletUpload.java 2KB
ModifyUserServlet.java 2KB
RegServlet.java 2KB
KuXiaoServlet.java 2KB
OrderListServlet.java 2KB
BookinfServlet.java 2KB
OrderList1Servlet.java 2KB
SearchServlet.java 2KB
SmartRequest.java 2KB
UpdateTypeServlet.java 2KB
Validate.java 2KB
BeforehandBookServlet.java 2KB
ReckoningServlet.java 2KB
LeaveWordServlet.java 2KB
共 165 条
- 1
- 2
资源评论
- qq_383628192022-06-16用户下载后在一定时间内未进行评价,系统默认好评。
- m0_748129882024-01-16终于找到了超赞的宝藏资源,果断冲冲冲,支持!
- m0_621469922022-12-25资源内容总结地很全面,值得借鉴,对我来说很有用,解决了我的燃眉之急。
- a8578385162024-01-09资源不错,内容挺好的,有一定的使用价值,值得借鉴,感谢分享。
胥华引
- 粉丝: 87
- 资源: 439
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功