package com.util;
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)
{
long now=new java.util.Date().getTime();
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 = now+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;
}
}
}
p
没有合适的资源?快使用搜索试试~ 我知道了~
基于JAVA的小区门户网站
共1318个文件
gif:392个
js:362个
jsp:136个
需积分: 0 0 下载量 144 浏览量
2023-05-10
15:13:29
上传
评论
收藏 7.96MB RAR 举报
温馨提示
介绍了小区门户网站系统的设计,本系统主要采用JSP为编程语言,实现了社区服务中的新闻资讯、社区共享、在线影院等功能。本系统操作简单,使用方便。 本系统使用 SUN公司的JSP开发工具,数据库为MYSQL。利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进。 Internet网是目前全球最大的计算机通信网,它遍及全球几乎所有的国家和地区。www系统是一个大型的分布式超媒体信息数据库,它极大的推动了Internet的发展,己经成为Internet中最流行、最主要的信息服务方式。www技术之所以能在全球普及,一个重要的原因就是它与数据库管理系统相互融合,成为一个处理和共享信息的强大工具。一方面,数据库是一种强大的信息管理工具,另一方面,www提供了共享数据的方法。两者强强联合取长补短,发挥各自优势,使用户可以在Web浏览器上方便地检索数据库的内容。 数据库是从60年代初发展起来的计算机技术。经过四十来年的发展,数据库技术己经趋于成熟。Web数据库在新的Internet环境
资源推荐
资源详情
资源评论
收起资源包目录
基于JAVA的小区门户网站 (1318个子文件)
class_upload.asp 6KB
class_upload.asp 6KB
class_upload.asp 6KB
class_upload.asp 6KB
commands.asp 5KB
commands.asp 5KB
upload.asp 3KB
upload.asp 3KB
connector.asp 3KB
connector.asp 3KB
io.asp 2KB
io.asp 2KB
basexml.asp 2KB
basexml.asp 2KB
config.asp 2KB
config.asp 2KB
config.asp 2KB
config.asp 2KB
util.asp 1KB
util.asp 1KB
io.asp 836B
io.asp 836B
connector.aspx 1KB
connector.aspx 1KB
upload.aspx 1KB
upload.aspx 1KB
connector.cfm 11KB
connector.cfm 11KB
spellchecker.cfm 6KB
spellchecker.cfm 6KB
upload.cfm 6KB
upload.cfm 6KB
config.cfm 3KB
config.cfm 3KB
config.cfm 3KB
config.cfm 3KB
connector.cgi 4KB
connector.cgi 4KB
NewsBean.class 19KB
NewsBean.class 19KB
SmartUpload.class 16KB
SmartUpload.class 16KB
MemberBean.class 12KB
MemberBean.class 12KB
AfficheBean.class 11KB
AfficheBean.class 11KB
MemberManageBean.class 11KB
MemberManageBean.class 11KB
GuestBookBean.class 8KB
GuestBookBean.class 8KB
NewsServlet.class 8KB
MemberServlet.class 8KB
MemberServlet.class 8KB
NewsServlet.class 8KB
AdminServlet.class 7KB
AdminServlet.class 7KB
AdminBean.class 7KB
AdminBean.class 7KB
SmartFile.class 6KB
SmartFile.class 6KB
SystemBean.class 6KB
SystemBean.class 6KB
GuestBookServlet.class 5KB
GuestBookServlet.class 5KB
CommonServlet.class 5KB
CommonServlet.class 5KB
AfficheServlet.class 4KB
AfficheServlet.class 4KB
MemberManageServlet.class 4KB
MemberManageServlet.class 4KB
LoginServlet.class 4KB
LoginServlet.class 4KB
DBO.class 3KB
DBO.class 3KB
Common.class 2KB
Common.class 2KB
SmartRequest.class 2KB
SmartRequest.class 2KB
SmartFiles.class 2KB
SmartFiles.class 2KB
Log.class 1KB
Log.class 1KB
MD5.class 1KB
MD5.class 1KB
Filter.class 936B
Filter.class 936B
CheckCode.class 887B
CheckCode.class 887B
Constant.class 674B
Constant.class 674B
SmartUploadException.class 364B
SmartUploadException.class 364B
.classpath 802B
css.css 10KB
css.css 10KB
fck_editor.css 8KB
fck_editor.css 8KB
fck_editor.css 8KB
fck_editor.css 8KB
fck_editor.css 8KB
共 1318 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
一叶再见知秋
- 粉丝: 3
- 资源: 172
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功