当前位置: 首页 > news >正文

济南市做网站公司烟台酒店网站建设

济南市做网站公司,烟台酒店网站建设,wdcp v3搭建WordPress,软件开发流程流程图本文实例为大家分享了java相册制作方法#xff0c;供大家参考#xff0c;具体内容如下注#xff1a;1)html上的图片是静态指定的。当更新了新的图片时必须手工更新。所以使用Servlet读取本地images中的所有图片#xff0c;动态显示给用户。2)如果存在中文名的图片#xff…本文实例为大家分享了java相册制作方法供大家参考具体内容如下注1)html上的图片是静态指定的。当更新了新的图片时必须手工更新。所以使用Servlet读取本地images中的所有图片动态显示给用户。2)如果存在中文名的图片由于get方式无法直接传递中文会导致出错。主页面–index.jsp小小相册小小相册上传相片浏览相片页面显示:上传图片功能:小小相册小小相册照片:说明:package cn.hncu.servlet;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.util.List;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileUploadException;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;import org.apache.commons.io.FileUtils;import cn.hncu.dao.PhotoDaoImpl;import cn.hncu.domain.PhotoModel;import cn.hncu.utils.MyUtils;public class UploadServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType(text/html);PrintWriter out response.getWriter();out.println(-//W3C//DTD HTML 4.01 Transitional//EN\);out.println();out.println( A Servlet);out.println( );out.print(错误信息:提交方式错误...不支持Get方式上传照片);out.println( );out.println();out.flush();out.close();}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding(utf-8);response.setContentType(text/html;charsetutf-8);PrintWriter out response.getWriter();out.println(-//W3C//DTD HTML 4.01 Transitional//EN\);out.println();out.println( 上传照片页面);out.println( );//从上传表单提取信息:一,封装成photo值对象,调用dao层存储到后台// 二,把上传的照片存储到服务器硬盘//数据库:存储照片的存储情况的信息,,,真正的文件存储到硬盘DiskFileItemFactory dfinew DiskFileItemFactory();File filenew File(d:/a);if(file.exists()){file.mkdirs();}dfi.setRepository(file);ServletFileUpload uploadnew ServletFileUpload(dfi);upload.setSizeMax(1024*1024*8);upload.setHeaderEncoding(utf-8);//request.setCharacterEncoding(utf-8);try {List listupload.parseRequest(request);PhotoModel pmnew PhotoModel();InputStream innull;for(FileItem fI:list){if(fI.isFormField()){//这个不会有临时文件String descfI.getString(utf-8);pm.setDesc(desc);}else{infI.getInputStream();// String filenamefI.getFieldName();// System.out.println(getFieldName:filename);String fileNamefI.getName();// System.out.println(getName:fileName);//测试:C:\Users\adl1\Pictures\Saved Pictures\111.jpg?//卫条件if(fileNamenull||fileName.trim().equals()){out.println(没有选择文件,,,请必须选择一个文件...);String strPath2request.getContextPath()/jsps/upload.jsp;out.println(返回上传页面);return;}pm.setDt(MyUtils.getCurrentDataime());String realNamefileName.substring(fileName.lastIndexOf(\\));//\112.jpgSystem.out.println(realName.substring(1, realName.length()));pm.setRealName(realName.substring(1, realName.length()));//把realName的\去掉//ext扩展名String extfileName.substring(fileName.lastIndexOf(.));pm.setExt(ext);String idMyUtils.getUUID();pm.setId(id);pm.setIp(request.getRemoteAddr());pm.setDir(MyUtils.getDir(id));}}//完成photo值对象的封装,调用dao进行存储boolean boonew PhotoDaoImpl().sava(pm);if(boo){//完成数据库的存储,接下来是服务器硬盘的存储//把照片存储到项目根目录下的photos文件夹中存储(以打散方式存储)String pathphotos/pm.getDir();// System.out.println(path:path);//测试:photos/9/0String filePathgetServletContext().getRealPath(path);// System.out.println(filePath:filePath);//测试:D:\apache-tomcat-7.0.30\webapps\photosWeb\photos\9\0File dirnew File(filePath);if(!dir.exists()){dir.mkdirs();}FileUtils.copyInputStreamToFile(in, new File(filePath/pm.getId()pm.getExt()));// //如果硬盘保存成功就跳转到主页面--转发 RequestDispatcher rdrequest.getRequestDispatcher(getServletContext().getContextPath()/index.jsp);///photosWeb/photosWeb/index.jsp// RequestDispatcher rdrequest.getRequestDispatcher(/index.jsp);///photosWeb/index.jspg// //java代码块和web.xml中url的开始/代表项目根目录// rd.forward(request, response);//这里不能使用转发,具体重定向和转发区别:http://blog.csdn.net/xanlv/article/details/52701085//重定向response.sendRedirect(getServletContext().getContextPath()/index.jsp);}else{//数据库保存失败--留在上传页面RequestDispatcher rdrequest.getRequestDispatcher(/jsps/upload..jsp);///photosWeb/index.jsprd.forward(request, response);}} catch (FileUploadException e) {throw new RuntimeException(上传失败, e);}finally{//清临时文件File fnew File(d:/a);File fs[]f.listFiles();for(File ff:fs){ff.delete();}}out.println( );out.println();out.flush();out.close();}}页面显示效果:浏览图片功能:package cn.hncu.servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.hncu.dao.PhotoDaoImpl;import cn.hncu.domain.PhotoModel;public class ShowAllImgServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType(text/html;charsetutf-8);PrintWriter out response.getWriter();out.println(-//W3C//DTD HTML 4.01 Transitional//EN\);out.println();out.println( 相册浏览);out.println( );String strPathrequest.getContextPath()/jsps/upload.jsp;out.println(返回上传页面);//String tableString table文件名上传日期时间相片相片说明操作;out.println(table);//从dao层把所有的照片信息读取出来发送到前端页面List listnew PhotoDaoImpl().getAllPhotos();for(PhotoModel pm:list){out.println();out.println(pm.getRealName());out.println();out.println(pm.getDt());out.println();String pathrequest.getContextPath()/photos/pm.getDir()/pm.getId()pm.getExt();//System.out.println(path);///photosWeb/photos/d/7/e78e18352b42410f85dbd8df834bd718.jpg//点击图片可以查看大图 out.println();out.println();out.println(pm.getDesc());out.println();out.println(删除图片);//out.println(下载图片);out.println(下载图片);out.println();}out.println();out.println( );out.println();out.flush();out.close();}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType(text/html;charsetutf-8);PrintWriter out response.getWriter();out.println(-//W3C//DTD HTML 4.01 Transitional//EN\);out.println();out.println( A Servlet);out.println( );out.print(不支持Post方式。。。);out.println( );out.println();out.flush();out.close();}}页面显示效果:删除功能:package cn.hncu.servlet;import java.io.File;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.hncu.dao.PhotoDaoImpl;import cn.hncu.domain.PhotoModel;public class DelPhotoServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType(text/html;charsetutf-8);PrintWriter out response.getWriter();out.println(-//W3C//DTD HTML 4.01 Transitional//EN\);out.println();out.println( 删除照片页面);out.println( );String idrequest.getParameter(id);String iprequest.getRemoteAddr();PhotoDaoImpl daonew PhotoDaoImpl();PhotoModel pmdao.getSingleById(id);if(pm!null){if(!pm.getIp().equals(ip)){out.println(您没有该图片的权限去删除...);String strPathrequest.getContextPath()/servlet/showAllImg;out.println(返回继续浏览);return ;}//删除包含两部分工作清除数据库中的信息 和 删除服务器硬盘中的图片文件//1清除数据库中的信息boolean boo dao.del(id);//2删除服务器硬盘中的图片文件if(boo){String pathphotos/pm.getDir()/pm.getId()pm.getExt();String filePathgetServletContext().getRealPath(path);File fnew File(filePath);if(f.exists()){f.delete();}String strPathrequest.getContextPath()/servlet/showAllImg;// System.out.println(strPath);///photosWeb/servlet/showPhotosout.println(删除成功...返回浏览);}else{out.println(删除数据库信息失败);}}else{out.println(文件不存在...);String strPathrequest.getContextPath()/servlet/showAllImg;out.println(返回继续浏览);}out.println( );out.println();out.flush();out.close();}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType(text/html);PrintWriter out response.getWriter();out.println(-//W3C//DTD HTML 4.01 Transitional//EN\);out.println();out.println( 删除照片页面);out.println( );out.print(不支持POST方式...);out.println( );out.println();out.flush();out.close();}}页面显示:下载功能:1.在HTML页面上使用超连接指向要下载的文件(不安全容易被盗链)。问题如何确定本地资源ServletContext – 代表一个web项目。一个web项目只有一个ServletContext对像。getRealPath(“/”); //d:/prm/tom/web/需求分析在实际的开发中下载哪一个文件都是由用户动态选择的。如在我们项目images目录下存在着很多图片文件。用户在页面上显示所有图片用户可以点下载连接下载喜欢的图片。详细设计使用静态网页显示所有图片。给每一个图片一个下以下载的超连接。在超连接后面传递要下载的图片id。在serivice中动态接收图片名。完成下载 。package cn.hncu.servlet;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.PrintWriter;import java.net.URLEncoder;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.io.FileUtils;import cn.hncu.dao.PhotoDaoImpl;import cn.hncu.domain.PhotoModel;public class DownServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//获取被下载图片的信息tring idrequest.getParameter(id);PhotoModel pmnew PhotoDaoImpl().getSingleById(id);if(pmnull){response.setContentType(text/html;charsetutf-8);PrintWriter out response.getWriter();out.println(-//W3C//DTD HTML 4.01 Transitional//EN\);out.println();out.println( A Servlet);out.println( );response.getWriter().println(alert(该文本已不存在...));out.println( );out.println();out.flush();out.close();//getServletContext().getContextPath()RequestDispatcher rdrequest.getRequestDispatcher(/servlet/down);///photosWeb/index.jsp//java代码块和web.xml中url的开始/代表项目根目录rd.forward(request, response);}else{//真正下载: 把服务器硬盘的照片文件读取出来发送给客户端(设置响应头)//获取真实的文件String realNamepm.getRealName();realNameURLEncoder.encode(realName, utf-8);//如果是中文名必须转码防止文件名中文乱码// InputStream inDownServlet.class.getClassLoader().getResourceAsStream(realName);//设置显示类型为下载response.setContentType(application/force-download);//设置响应头response.setHeader(content-Disposition, attachment;filename\realName\);// String pathrequest.getContextPath()/photos/pm.getDir()/pm.getId()pm.getExt();String pathphotos/pm.getDir()/pm.getId()pm.getExt();String filePathgetServletContext().getRealPath(path);FileUtils.copyInputStreamToFile(request.getInputStream(), new File(filePath));InputStream innew FileInputStream(filePath);OutputStream oresponse.getOutputStream();byte b[]new byte[1024];int len0;while((lenin.read(b))!-1){o.write(b, 0, len);}o.close();}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType(text/html);PrintWriter out response.getWriter();out.println(-//W3C//DTD HTML 4.01 Transitional//EN\);out.println();out.println( A Servlet);out.println( );out.print( 不支持);out.println( );out.println();out.flush();out.close();}}页面显示效果:配置文件web.xmlxmlnshttp://java.sun.com/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsdUploadServletcn.hncu.servlet.UploadServletShowAllImgServletcn.hncu.servlet.ShowAllImgServletDownServletcn.hncu.servlet.DownServletDelPhotoServletcn.hncu.servlet.DelPhotoServletUploadServlet/servlet/uploadServletShowAllImgServlet/servlet/showAllImgDownServlet/servlet/downDelPhotoServlet/servlet/delPhotoindex.jsp数据库:photos.xml值对象:PhotoModel.javapackage cn.hncu.domain;public class PhotoModel {//photo值对象private String id;//UUIDprivate String realName;//照片真实文件名private String ext;//扩展名private String dir;//文件打撒后存储的目录private String dt;//上传日期时间private String ip;//上传客户端的ip地址private String desc;//照片说明public String getId() {return id;}public void setId(String id) {this.id id;}public String getRealName() {return realName;}public void setRealName(String realName) {this.realName realName;}public String getExt() {return ext;}public void setExt(String ext) {this.ext ext;}public String getDir() {return dir;}public void setDir(String dir) {this.dir dir;}public String getDt() {return dt;}public void setDt(String dt) {this.dt dt;}public String getIp() {return ip;}public void setIp(String ip) {this.ip ip;}public String Dreturn desc;}public void setDesc(String desc) {this.desc desc;}}dao层:这里简写了,只写了实现类PhotoDaoImpl.javapackage cn.hncu.dao;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.dom4j.Document;import org.dom4j.Element;import cn.hncu.domain.PhotoModel;import cn.hncu.utils.DomFactory;public class PhotoDaoImpl {public boolean sava(PhotoModel pm){Document domDomFactory.getDom();Element rootdom.getRootElement();Element eroot.addElement(photo);e.addAttribute(id, pm.getId());e.addAttribute(dir, pm.getDir());e.addAttribute(dt, pm.getDt());e.addAttribute(ext, pm.getExt());e.addAttribute(ip, pm.getIp());e.addAttribute(realName, pm.getRealName());e.addElement(desc).setText(pm.getDesc());boolean bDomFactory.save();if(b){return true;}return false;}public List getAllPhotos(){List linew ArrayList();Document domDomFactory.getDom();Element edom.getRootElement();Iterator ite.elementIterator();while(it.hasNext()){Element ieit.next();PhotoModel pmnew PhotoModel();pm.setId(ie.attributeValue(id));pm.setDir(ie.attributeValue(dir));pm.setDt(ie.attributeValue(dt));pm.setExt(ie.attributeValue(ext));pm.setIp(ie.attributeValue(ip));pm.setRealName(ie.attributeValue(realName));pm.setDesc(ie.elementText(desc));li.add(pm);}return li;}public PhotoModel getSingleById(String id){List ligetAllPhotos();PhotoModel pmnew PhotoModel();for(PhotoModel p:li){if(p.getId().equals(id)){return p;}}return null;}public boolean del(String id) {Document domDomFactory.getDom();Element e(Element) dom.selectSingleNode(//photo[idid]);return e.getParent().remove(e);}}工具类:1.package cn.hncu.utils;import java.text.SimpleDateFormat;import java.util.Date;import java.util.UUID;public class MyUtils {private MyUtils() {}public static String getUUID(){return UUID.randomUUID().toString().replace(-, );}private static SimpleDateFormat sdfnew SimpleDateFormat(yy-MM-dd HH:mm:ss);public static String getCurrentDataime(){return sdf.format(new Date());}public static String getDir(String uuid){String dir1Integer.toHexString(uuid.hashCode()0xf);String dir2Integer.toHexString((uuid.hashCode()0xf0)4);return dir1/dir2;}}2.package cn.hncu.utils;import java.io.FileOutputStream;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;public class DomFactory {private static Document dom;private static String fileName;static{try {SAXReader rnew SAXReader();//获取src下的资源文件fileNameDomFactory.class.getClassLoader().getResource(photos.xml).getPath();System.out.println(users.xml的路径:fileName);///D:/apache-tomcat-7.0.30/webapps/photosWeb/WEB-INF/classes/photos.xml//注意:获取tomcat中当前项目classpath下的资源方式domr.read(fileName);} catch (DocumentException e) {e.printStackTrace();}}public static Document getDom(){return dom;}public static boolean save(){XMLWriter w;try {w new XMLWriter(new FileOutputStream(fileName));w.write(dom);w.close();return true;} catch (Exception e) {return false;}}}以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。
http://www.yutouwan.com/news/34667/

相关文章:

  • 有域名和服务器怎么建网站郴州建设局门户网站
  • 温州专业微网站制作公司哪家好千锋教育成立于哪一年
  • 杭州seo网站推广带会员注册企业网站源码
  • 网站改版后seo该怎么做浦项建设中国有限公司网站
  • 企业网站建设备案都需要什么沂水网站制作
  • 上海html5网站制作深圳十大电商巨头
  • 沈阳网站建设建设公司排名湖南省住房和城乡建设厅网站
  • 网站开发要会英语吗wordpress 左右图文排版
  • 个人的小说网站如何做建设部网站1667号
  • 专业营销型网站做网站维护怎么找客户
  • 泉州模板开发建站深圳商城网站设计费用
  • 网站做微信小程序wordpress建立php站点地图
  • 怎么样做移动油光文字网站专做it招聘的网站
  • 毕业设计医院网站设计怎么做网站论坛推广文案怎么做
  • 做鞋子出口需要作网站吗主题营销活动创意
  • 西宁平台网站建设设计需要的软件
  • 网站建设制作浩森宇特网站建设首页包括什么软件
  • 网站建设通俗讲专业做招聘的网站
  • 个人网站备案后可以做行业内容吗刷外链工具
  • 河南省建设执业资格注册中心网站网站模板凡平台
  • 安监局网站建设常见的网络营销平台有哪些
  • php 网站建设方案widget wordpress
  • 成立一个公司需要什么条件南通优普网站建设优化
  • 网站建设与运营的论文的范本大庆网站建设方案论文
  • 泰安企业建站公司网上外包加工活可信吗
  • 如何做属于自己的网站中国建筑有几个工程局
  • 广丰区建设局网站鞍山抖音seo新闻
  • 一个域名可以绑定几个网站手机网站注意哪些问题
  • 建设通网站有法律wordpress mysql 配置文件
  • 河北廊坊建设局网站wordpress 更新页面