📄 photoupdateservlet.java
字号:
package jdbcbook.photo;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import org.apache.commons.fileupload.*;
import org.apache.commons.beanutils.*;
import jdbcbook.pub.util.*;
public class PhotoUpdateServlet extends HttpServlet
{
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
try
{
DiskFileUpload fu = new DiskFileUpload();
// maximum size before a FileUploadException will be thrown
// 指定用户可以上传的文件的最大大小(单位:字节)
fu.setSizeMax( 1000000 );
// 在内存中保存文件的最大的容量
fu.setSizeThreshold( 4096 );
// 超出getSizeThreshold()函数返回值大小的文件的保存位置
fu.setRepositoryPath("C:\\");
// 取得参数的列表
List fileItems = fu.parseRequest( request );
Iterator i = fileItems.iterator();
Hashtable ht = new Hashtable();
InputStream in = null;
int size = 0;
while( i.hasNext() )
{
FileItem fi = (FileItem)i.next();
// 判断参数的类型
if( fi.isFormField() )
ht.put( fi.getFieldName(), fi.getString() );
else
{
in = fi.getInputStream();
size = (int)fi.getSize();
if( in!=null && size > 0 )
{
ht.put( "filetype", fi.getContentType() );
ht.put( "filename", StringUtil.getFileName( fi.getName() ) );
}
}
}
// 生成Photo对象
Photo photo = new Photo();
// 给photo对象赋值
BeanUtils.populate( photo, ht );
String updateresult = "photoupdatein";
// 判断是否为修改照片
if( photo.getPhotoid() > 0 && in!=null && size>0 )
{
updateresult = "photoupdatesuccess.vm";
}
// 记录照片信息
boolean result = PhotoBean.updatePhoto( photo, in, size );
if( result )
RequestUtil.setMsg( this, request, "updatephotosuccess" );
else
RequestUtil.setMsg( this, request, "updatephotofailure" );
// 跳转到结果页面
RequestDispatcher dispatcher = request.getRequestDispatcher( updateresult );
dispatcher.forward( request, response );
}
catch( Exception ex )
{
ex.printStackTrace( System.err );
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
doPost( request, response );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -