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
JAVAWEB校园订餐系统项目源码.rar
需积分: 0 65 浏览量
更新于2023-06-29
收藏 9.82MB RAR 举报
"JAVAWEB校园订餐系统项目源码"是一个基于JavaWeb技术实现的校园订餐系统,主要用于帮助在校师生便捷地进行在线订餐。这个系统可能涵盖了用户管理、菜单展示、订单处理、支付功能等多个核心模块,旨在提高校园餐厅的服务效率,提升学生的用餐体验。
提到的"JAVAWEB校园订餐系统项目源码"意味着提供的是该系统完整的编程代码,开发者可以深入研究其架构设计和实现细节,这对于学习JavaWeb开发和理解实际项目流程非常有帮助。通过分析源码,学习者可以了解如何将Java与Web技术结合,构建出一个完整的业务系统。
"java 软件/插件"表明该项目主要使用Java语言编写,同时可能涉及到一些Web相关的软件或插件,如Servlet、JSP、Tomcat服务器等。Java是一种广泛应用于服务器端开发的编程语言,具有跨平台性、安全性强等特点,特别适合开发大型、复杂的网络应用。
在【压缩包子文件的文件名称列表】中,我们没有具体的文件名信息,但通常一个JavaWeb项目会包含以下部分:
1. **源代码文件夹(src)**:存放Java源代码,包括控制层(如Servlet)、业务逻辑层(Service)、数据访问层(DAO)以及实体类(Entity)等。
2. **资源文件夹(resources)**:包含配置文件,如数据库连接配置(db.properties)、Spring或MyBatis的配置文件等。
3. **Web-INF**:此目录下的web.xml是Web应用的部署描述符,定义了应用的配置信息,如Servlet的映射等。
4. **静态资源文件夹(如css、js、img)**:存放前端的CSS样式表、JavaScript脚本和图片资源。
5. **lib**:存放项目的依赖库,包括JAR包和其他第三方库。
6. **测试代码文件夹(test)**:包含单元测试和集成测试的代码,用于验证系统的正确性。
7. **项目构建文件(如pom.xml)**:如果是Maven项目,会有一个pom.xml文件,用来管理项目的依赖和构建过程。
学习这个项目源码,你可以了解到以下知识点:
- **JavaWeb基础**:Servlet、JSP、过滤器(Filter)、监听器(Listener)的使用。
- **MVC设计模式**:理解模型-视图-控制器的设计思想及其在JavaWeb中的实现。
- **数据库操作**:可能涉及JDBC、MyBatis或Hibernate等ORM框架,了解SQL查询和事务处理。
- **前端技术**:HTML、CSS、JavaScript,以及可能的jQuery、Vue.js等库的运用。
- **框架应用**:Spring框架的IoC和AOP特性,Spring MVC的请求处理流程。
- **安全控制**:如session管理、验证码、权限控制等。
- **支付集成**:可能包含第三方支付接口的调用,如支付宝、微信支付等。
- **部署与运行**:如何在Tomcat或其他服务器上部署JavaWeb应用。
通过这个项目,开发者可以深入学习到实际开发中的问题解决策略,提升自己的项目实战能力,为日后的职业发展打下坚实的基础。

程序猿小乙
- 粉丝: 64
最新资源
- 机械手的plc的控制毕业(论文)设计毕业(论文)设计论文(1).doc
- visio流程图制作教程详解(1).pptx
- 关于提升农业经济管理信息化水平的探讨(1).docx
- 相机棋盘格标定matlab脚本实现
- 计算机网络环境下大学生英语自主学习要素研究(1).docx
- 网络软件开发合同(1).docx
- 网站合作协议(1).doc
- 完整性管理支持软件系统概要设计书(1).doc
- 应用计算机技术提高《传热学》教学效果的理论与实践(1).docx
- 数字绘画(12-13)excel基础操作(1).docx
- EXCEL在会计工作中的应用完整版教学课件全书电子讲义()(1).ppt
- 东师《HTML5开发基础与应用》作业考核.doc
- 道路工程施工中接口管理模块分析(1).docx
- 毕业设计-图书管理系统q(终稿)(1)(1).doc
- 行动学习法在中职计算机教学中的实践研究(1).docx
- 数据库课程设计-医药销售管理系统(2)(1).doc