- 浏览: 151267 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
hx0637:
楼主!小弟要面临面试了,能否指导下小弟?
面试 深圳一家公司的 -
kljismi:
你好,我现在正在开这项目的代码,但是我不明白@Privileg ...
权限管理模块分析 -
yzhw:
终于找到了
ImageSizer.java -
sunloveny:
国
struts国际化 -
jackotty:
谢谢楼主的分享
struts validator验证框架
BaseForm.java
ProductForm.java
ProductTypeForm.java
BrandForm.java
FrontProductForm.java
CartForm.java
package com.itcast.web.formbean.product; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Properties; import org.apache.struts.action.ActionForm; import org.apache.struts.upload.FormFile; public class BaseForm extends ActionForm { private static Properties properties = new Properties(); static{ try { properties.load(BaseForm.class.getClassLoader().getResourceAsStream("arrowuploadfiletype.properties")); } catch (IOException e) { e.printStackTrace(); } } private int page; private String query; public String getQuery() { return query; } public void setQuery(String query) { this.query = query; } public int getPage() { return page<1? 1 : page; } public void setPage(int page) { this.page = page; } /** * 验证上传文件类型是否属于图片格式 * @return */ public static boolean validateImageFileType(FormFile formfile){ if(formfile!=null && formfile.getFileSize()>0){ List<String> arrowType = Arrays.asList("image/bmp","image/png","image/gif","image/jpg","image/jpeg","image/pjpeg"); List<String> arrowExtension = Arrays.asList("gif","jpg","bmp","png"); String ext = getExt(formfile); return arrowType.contains(formfile.getContentType().toLowerCase()) && arrowExtension.contains(ext); } return true; } public static String getExt(FormFile formfile){ return formfile.getFileName().substring(formfile.getFileName().lastIndexOf('.')+1).toLowerCase(); } /** * 验证上传文件是否属于图片/flash动画/word文件/exe文件/pdf文件/TxT文件/xls文件/ppt文件 * @param formfile * @return */ public static boolean validateFileType(FormFile formfile){ if(formfile!=null && formfile.getFileSize()>0){ String ext = formfile.getFileName().substring(formfile.getFileName().lastIndexOf('.')+1).toLowerCase(); List<String> arrowType = new ArrayList<String>(); for(Object key : properties.keySet()){ String value = (String)properties.get(key); String[] values = value.split(","); for(String v : values){ arrowType.add(v.trim()); } } return arrowType.contains(formfile.getContentType().toLowerCase()) && properties.keySet().contains(ext); } return true; } /* public boolean validateFileType(String propertyName) throws Exception{ PropertyDescriptor[] propertydesc = Introspector.getBeanInfo(this.getClass()).getPropertyDescriptors(); boolean exsit = false; for(PropertyDescriptor property : propertydesc){ if(property.getName().equals(propertyName)){ exsit = true; Method method = property.getReadMethod(); if(method!=null){ FormFile formfile = (FormFile) method.invoke(this); if(formfile!=null && formfile.getFileSize()>0){ List<String> arrowType = Arrays.asList("image/bmp","image/png","image/gif","image/jpeg","image/pjpeg"); return arrowType.contains(formfile.getContentType().toLowerCase()); } }else{ new RuntimeException(propertyName+"属性的getter方法不存在"); } } } if(!exsit) new RuntimeException(propertyName+"属性不存在"); return true; }*/ }
ProductForm.java
package com.itcast.web.formbean.product; import java.io.File; import java.io.FileOutputStream; import javax.servlet.http.HttpServletRequest; import org.apache.struts.upload.FormFile; import com.itcast.utils.ImageSizer; public class ProductForm extends BaseForm { private Integer productid; private Integer[] productids; /** 货号 **/ private String code; /** 产品名称 **/ private String name; /** 品牌 **/ private String brandid; /** 型号 **/ private String model; /** 底价(采购进来的价格) **/ private Float baseprice; /** 市场价 **/ private Float marketprice; /** 销售价 **/ private Float sellprice; /** 重量 单位:克 **/ private Integer weight; /** 产品简介 **/ private String description; /** 购买说明 **/ private String buyexplain; /** 产品类型 **/ private Integer typeid; /** 性别要求 **/ private String sex; private Integer[] stylesids; private String stylename; private FormFile imagefile; private Float startsellprice; private Float endsellprice; private Float startbaseprice; private Float endbaseprice; private Integer productstyleid; public Integer[] getStylesids() { return stylesids; } public void setStylesids(Integer[] stylesids) { this.stylesids = stylesids; } public Integer getProductstyleid() { return productstyleid; } public void setProductstyleid(Integer productstyleid) { this.productstyleid = productstyleid; } public Integer[] getProductids() { return productids; } public void setProductids(Integer[] productids) { this.productids = productids; } public Float getStartbaseprice() { return startbaseprice; } public void setStartbaseprice(Float startbaseprice) { this.startbaseprice = startbaseprice; } public Float getEndbaseprice() { return endbaseprice; } public void setEndbaseprice(Float endbaseprice) { this.endbaseprice = endbaseprice; } public Float getStartsellprice() { return startsellprice; } public void setStartsellprice(Float startsellprice) { this.startsellprice = startsellprice; } public Float getEndsellprice() { return endsellprice; } public void setEndsellprice(Float endsellprice) { this.endsellprice = endsellprice; } public String getStylename() { return stylename; } public void setStylename(String stylename) { this.stylename = stylename; } public FormFile getImagefile() { return imagefile; } public void setImagefile(FormFile imagefile) { this.imagefile = imagefile; } public Integer getProductid() { return productid; } public void setProductid(Integer productid) { this.productid = productid; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getBrandid() { return brandid; } public void setBrandid(String brandid) { this.brandid = brandid; } public String getModel() { return model; } public void setModel(String model) { this.model = model; } public Float getBaseprice() { return baseprice; } public void setBaseprice(Float baseprice) { this.baseprice = baseprice; } public Float getMarketprice() { return marketprice; } public void setMarketprice(Float marketprice) { this.marketprice = marketprice; } public Float getSellprice() { return sellprice; } public void setSellprice(Float sellprice) { this.sellprice = sellprice; } public Integer getWeight() { return weight; } public void setWeight(Integer weight) { this.weight = weight; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getBuyexplain() { return buyexplain; } public void setBuyexplain(String buyexplain) { this.buyexplain = buyexplain; } public Integer getTypeid() { return typeid; } public void setTypeid(Integer typeid) { this.typeid = typeid; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } /** * 保存产品图片 * @param request * @param imagefile 上传的产品图片 * @param productTypeId 产品类别id * @param productId 产品id * @return * @throws Exception */ public static void saveProductImageFile(HttpServletRequest request, FormFile imagefile, Integer productTypeId,Integer productId,String filename) throws Exception{ String ext = BaseForm.getExt(imagefile); String pathdir = "/images/product/"+ productTypeId+ "/"+ productId+ "/prototype";//构建文件保存的目录 //得到图片保存目录的真实路径 String realpathdir = request.getSession().getServletContext().getRealPath(pathdir); File savedir = new File(realpathdir); File file = saveFile(savedir, filename, imagefile.getFileData()); String pathdir140 = "/images/product/"+ productTypeId+ "/"+ productId+ "/140x";//140宽度的图片保存目录 String realpathdir140 = request.getSession().getServletContext().getRealPath(pathdir140); File savedir140 = new File(realpathdir140); if(!savedir140.exists()) savedir140.mkdirs();//如果目录不存在就创建 File file140 = new File(realpathdir140, filename); ImageSizer.resize(file, file140, 140, ext); } /** * 保存文件 * @param savedir 存放目录 * @param fileName 文件名称 * @param data 保存的内容 * @return 保存的文件 * @throws Exception */ public static File saveFile(File savedir, String fileName, byte[] data) throws Exception{ if(!savedir.exists()) savedir.mkdirs();//如果目录不存在就创建 File file = new File(savedir, fileName); FileOutputStream fileoutstream = new FileOutputStream(file); fileoutstream.write(data); fileoutstream.close(); return file; } }
ProductTypeForm.java
package com.itcast.web.formbean.product; public class ProductTypeForm extends BaseForm { private Integer parentid; private String name; private String note; private Integer typeid; public Integer getTypeid() { return typeid; } public void setTypeid(Integer typeid) { this.typeid = typeid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } public Integer getParentid() { return parentid; } public void setParentid(Integer parentid) { this.parentid = parentid; } }
BrandForm.java
package com.itcast.web.formbean.product; import org.apache.struts.upload.FormFile; public class BrandForm extends BaseForm { private String name; private FormFile logofile; private String code; private String logoimagepath; public String getLogoimagepath() { return logoimagepath; } public void setLogoimagepath(String logoimagepath) { this.logoimagepath = logoimagepath; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public FormFile getLogofile() { return logofile; } public void setLogofile(FormFile logofile) { this.logofile = logofile; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
FrontProductForm.java
package com.itcast.web.formbean.product; public class FrontProductForm extends BaseForm { private String sort; private Integer typeid; private String brandid; private String sex; private Integer productid; private String style; public String getStyle() { return style; } public void setStyle(String style) { this.style = style; } public Integer getProductid() { return productid; } public void setProductid(Integer productid) { this.productid = productid; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getBrandid() { return brandid; } public void setBrandid(String brandid) { this.brandid = brandid; } public Integer getTypeid() { return typeid; } public void setTypeid(Integer typeid) { this.typeid = typeid; } public String getSort() { return sort; } public void setSort(String sort) { this.sort = sort; } }
CartForm.java
package com.itcast.web.formbean.product; public class CartForm extends BaseForm { private Integer productid; private Integer styleid; private String buyitemid; public String getBuyitemid() { return buyitemid; } public void setBuyitemid(String buyitemid) {//productid-styleid this.buyitemid = buyitemid; if(this.buyitemid!=null){ String[] values = this.buyitemid.split("-"); if(values.length==2){ this.productid = new Integer(values[0]); this.styleid = new Integer(values[1]); } } } public Integer getProductid() { return productid; } public void setProductid(Integer productid) { this.productid = productid; } public Integer getStyleid() { return styleid; } public void setStyleid(Integer styleid) { this.styleid = styleid; } }
发表评论
-
权限管理模块分析
2009-01-08 13:51 2817巴巴运动网的后台权限管理模块主要采用了两大核心技术:java的 ... -
集成环境
2009-01-08 13:39 1090第13集:集成JPA环境 1 ... -
struts标签的配置和使用
2009-01-07 18:01 1423struts标签的配置和使用 配置: * 在struts- ... -
shop9\src\com\itcast\utils\
2009-01-06 20:56 995SiteUrl.java package com.itca ... -
MD5.java
2009-01-06 20:50 835package com.itcast.utils; im ... -
package com.itcast.utils
2009-01-06 20:40 920DateConverter.java package com ... -
ImageSizer.java
2009-01-06 20:38 1049ImageSizer package com.itc ... -
shop9\src\com\itcast\web\filter
2009-01-06 20:23 1032SetCodeFilter.java package co ... -
shop9\WebRoot
2009-01-06 19:54 705<%@ page language="java ... -
shop9\WebRoot\WEB-INF
2009-01-06 19:47 1306Web.xml <?xml version=&quo ... -
package com.itcast.service.base;
2009-01-06 19:39 1363DAO.java package com.itcast.s ...
相关推荐
根据提供的信息,我们可以总结出以下有关ITCAST的重要知识点: ### ITCAST概述 #### 定义与定位 ITCAST是一家专注于IT技术教育与培训的服务平台,成立于2007年10月18日。该平台旨在为广大IT学习者提供一个全方位、...
【标题】"itcast"可能指的是传智播客(ITCAST)这个教育机构,它提供了大量的编程学习资源,包括但不限于Java、Python、前端等技术领域。在这个上下文中,"itcast"可能是某个教学项目的代码库或者课程资料。 【描述...
【标题】"itcast_ssh_oa" 暗示了这是一个与ITCast(一家知名的教育机构)相关的项目,重点可能是关于SSH(Struts2、Spring、Hibernate)框架的OA(Office Automation,办公自动化)系统。SSH是Java Web开发中常用的...
SSH框架的组合运用,使得该系统在数据持久化、业务逻辑处理以及用户界面展现方面表现得更加出色,是学习和应用企业级Java Web开发的重要实例。 首先,让我们深入理解SSH框架的各个组件: 1. **Struts2**:这是一个...
《电子商务开发源码 ItCast 全面解析》 在当今数字化时代,电子商务已经成为了商业活动的重要组成部分,而作为开发者,理解和掌握电子商务应用的开发过程至关重要。本文将深度剖析"电子商务开发源码 ItCast",带你...
在软件开发过程中,特别是在大数据量的Web应用中,分页功能是不可或缺的一部分。巴巴运动网提供的分页jar包,名为"cn.itcast.page",为开发者提供了一种便捷的方式来实现高效的页面数据展示。本文将详细介绍这个jar...
9. **RESTful API设计**:如果包含Web服务,可能遵循REST(Representational State Transfer)原则,提供JSON或XML格式的数据交换。 10. **日志记录**:如Log4j,用于记录应用程序的运行日志,便于调试和问题追踪。...
至于itcast-tools-1.4.2-src.zip,这是一个源代码压缩包,很可能包含了ITCAST-TOOL-1.4.2.jar的所有源代码。对于开发者而言,直接查看源代码能更深入理解工具的工作原理,有助于定制或扩展功能,同时也便于排查问题...
传智权限管家系统的主体部分是`itcast-authority-web`,这是一个Web应用服务,主要负责权限的管理和控制。它可能包含以下关键模块: 1. **用户管理**:系统中用户的创建、修改、删除以及角色分配等功能。通常会集成...
《深入解析itcast-tools-1.4.2.jar:JavaWeb开发中的实用工具包》 在JavaWeb开发中,各种工具包的使用极大地提升了开发效率和代码质量。其中,"itcast-tools-1.4.2.jar"是传智博客单独为JavaWeb开发者设计的一个...
【标题】"itcast-crawler-jd.zip" 提供的是一个名为 "itcast-crawler-jd" 的爬虫项目,这个项目可能由某教育机构如 ITCAST(传智播客)开发,主要用于京东(JD)网站的数据抓取。在IT行业中,爬虫是一种用于自动化...
在这个项目中,"itcast"可能指的是某教育机构或开发团队,"order"则直指核心功能——订餐服务。开发者可能采用了模块化编程,将不同的功能模块(如用户界面、网络通信、数据库操作等)封装在各自的包下,便于管理和...
14-基本资料-布局.itcast
总的来说,这个"itcast bbs 源码 传智播客版本"是一个适合初学者和有一定经验的开发者学习Web开发的宝贵资源。通过研究和实践,学习者可以深入理解Web应用程序的工作原理,包括前端与后端的交互、用户认证、数据存储...
本篇将重点探讨MySQL在日志管理方面的实践应用,以"itcast_log_management.zip"为例,深入解析其在MySQL高级(四)综合案例中的运用。 一、MySQL日志系统概述 MySQL的日志系统主要包括二进制日志(Binary Log)、...
【标题】"itcast.zip" 是一个包含Java爬虫代码的压缩包,它提供了不同爬虫项目的实现,便于学习和理解网络数据抓取技术。这个压缩包中的代码资源旨在教授如何构建一个能够爬取京东网站信息的爬虫。 【描述】提到的...
"itcast书店原型"是一个专为图书商城设计的项目,主要目标是构建一个高效、用户友好的在线购书平台。这个原型系统可能包含了多种技术栈和功能模块,以满足书店运营的需求,例如图书展示、购物车管理、订单处理、用户...
7. `src`:源代码目录,这里存放着项目的主要Java代码,是理解项目业务逻辑和架构的核心。 8. `WebRoot`:Web应用程序的根目录,包含了HTML、CSS、JavaScript、图片等静态资源,以及Servlet、JSP等动态内容。 9. `...
在实际应用中,ITCast工具集1.4.2的验证码功能可以被集成到各种Web项目中,通过API调用来实现验证码的生成和验证。开发者可以根据项目需求,选择合适的验证码类型,并结合工具集提供的API,轻松地实现安全防护功能。...
总结起来,session和cookie是Web开发中不可或缺的工具,理解它们的运作机制和优缺点,能帮助开发者设计出更安全、高效的Web应用。在“php.itcast.cn”的PHP课程中,通过韩忠康老师的讲解,你可以更深入地学习这两个...