- 浏览: 87581 次
- 性别:
- 来自: 苏州
-
最新评论
-
javazeke:
自己支持一下,,,希望下周有help
求oracle11g和10g 双机热备文档 -
javazeke:
kimmking 写道mr_kairy 写道看你的结构 就是 ...
江湖求方案,类似SSO系统的需求 -
javazeke:
yangdefeng95802 写道LZ的图是什么软件画的?真 ...
江湖求方案,类似SSO系统的需求 -
javazeke:
mr_kairy 写道看你的结构 就是 SOA 解决方案。。 ...
江湖求方案,类似SSO系统的需求 -
javazeke:
threestone1026 写道使用cas了
感谢thre ...
江湖求方案,类似SSO系统的需求
Struts文件上传
写的还可以,eclipse写的,解压部署后就能跑。
绝对整个项目,欢迎大家拍砖!晕死。。。。居然上传不了
贴一下关键代码
页面
<html:form action="userAction_fileUpload" method="post" enctype="multipart/form-data"> <html:text property="user.userName" value="${userForm.user.userName}"></html:text><br/> <html:text property="user.userPass" value="${userForm.user.userPass}"></html:text><br/> <html:file property="file" ></html:file><br/> <html:submit> 提交 </html:submit> </html:form>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter> <filter-name>GBKFilter</filter-name> <filter-class>org.zeke.action.biz.GBKFilter</filter-class> </filter> <filter-mapping> <filter-name>GBKFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config> <form-beans> <form-bean name="userForm" type="org.zeke.actionform.UserForm" ></form-bean> </form-beans> <action-mappings> <action path="/userAction_*" name="userForm" type="org.zeke.action.UserAction" input="/index.jsp" scope="request" parameter="{1}" validate="true"> <forward name="success" path="/index.jsp"></forward> </action> </action-mappings> </struts-config>
包org.zeke.action.UserAction下
package org.zeke.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.MappingDispatchAction; import org.apache.struts.upload.FormFile; import org.zeke.action.biz.SaveUserInfo; import org.zeke.action.biz.ValidateFormFile; import org.zeke.actionform.UserForm; import org.zeke.entity.User; public class UserAction extends MappingDispatchAction { public ActionForward fileUpload(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { UserForm userForm = (UserForm) form; User user = userForm.getUser(); FormFile formFile = userForm.getFile(); String path = this.getServlet().getServletContext().getRealPath("/"); ValidateFormFile vff = new ValidateFormFile(); if (vff.validate(formFile)) { SaveUserInfo saveUserInfo = new SaveUserInfo(); boolean b = saveUserInfo.save(user, path); if (b) { saveUserInfo.saveFile(formFile, path, user.getUserName()); } }else{ response.setCharacterEncoding("gbk"); response.getWriter().write("你上传的文件不符合规格!"); return null; } return mapping.findForward("success"); } }
包org.zeke.action.biz下
GBKFilter.java
package org.zeke.action.biz; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class GBKFilter implements Filter { public void destroy() { // TODO Auto-generated method stub } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("gbk"); chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub } }
SaveUserInfo .java
package org.zeke.action.biz; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.io.Writer; import java.util.Map; import org.apache.struts.upload.FormFile; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; import org.zeke.entity.User; public class SaveUserInfo { public boolean saveFile(FormFile formFile,String path,String userNamePath) { boolean bl=false; String realPath = path + "\\WEB-INF\\userInfo\\"+userNamePath+"\\"+formFile.getFileName(); try { InputStream ins=formFile.getInputStream(); OutputStream outs=new FileOutputStream(realPath); int len=0; byte[] b=new byte[512]; while((len=ins.read(b))!=-1){ outs.write(b, 0, len); } outs.close(); ins.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return bl; } public boolean save(User user, String path) { Element root = creatElement("user", null, null); Document document = DocumentHelper.createDocument(root); Element userName = creatElement("userName", user.getUserName(), null); root.add(userName); Element userPass = creatElement("userPass", user.getUserPass(), null); root.add(userPass); String realPath = path + "\\WEB-INF\\userInfo\\" + user.getUserName(); boolean b = saveToXML(document, realPath); return b; } private boolean saveToXML(Document e, String path) { boolean b = false; try { File f = new File(path); if (!f.exists()) { f.mkdir(); } File f1 = new File(f, "user.xml"); Writer writePath = new PrintWriter(f1); OutputFormat outformat = new OutputFormat(" ", true); outformat.setEncoding("gbk"); XMLWriter write = new XMLWriter(writePath, outformat); write.write(e); write.close(); writePath.close(); b = true; } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (IOException e2) { e2.printStackTrace(); } return b; } private Element creatElement(String nodeName, String textValue, Attribute[] attributes) { Element e = DocumentHelper.createElement(nodeName); if (textValue != null) { e.setText(textValue); } if (attributes != null) { if (attributes.length != 0) { for (Attribute a : attributes) { e.add(a); } } } return e; } @SuppressWarnings("unused") private Attribute[] createAttribute(Map<String, String> map) { // 现在用不着 return null; } }
ValidateFormFile .java
package org.zeke.action.biz; import org.apache.struts.upload.FormFile; public class ValidateFormFile { public boolean validate(FormFile f){ boolean b=false; if(validateName(f)&&validateSize(f)){ b=true; } return b; } private boolean validateName(FormFile f){ boolean b=false; String fileName=f.getFileName(); fileName=fileName.substring(fileName.lastIndexOf('.')+1, fileName.length()); String[] extension=new String[]{"pdf","doc","txt","rar"}; int i=0; for(i=0;i<extension.length;i++){ if(fileName.equalsIgnoreCase(extension[i])){ break; } } if(i<extension.length){ b=true; } return b; } private boolean validateSize(FormFile f){ boolean b=false; int size=f.getFileSize(); int maxSize=1024*1024*5; if(size>0&&size<=maxSize){ b=true; } return b; } }
package org.zeke.actionform.UserForm .java
package org.zeke.actionform; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.upload.FormFile; import org.zeke.entity.User; public class UserForm extends ActionForm { private static final long serialVersionUID = -863536723372815788L; private User user=new User(); private FormFile file; public User getUser() { return user; } public void setUser(User user) { this.user = user; } public FormFile getFile() { return file; } public void setFile(FormFile file) { this.file = file; } @Override public void reset(ActionMapping mapping, HttpServletRequest request) { user.setUserName("zeke"); user.setUserPass("root"); this.setUser(user); } @Override public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { return super.validate(mapping, request); } }
package org.zeke.entity.User.java
package org.zeke.entity; public class User { private String userName; private String userPass; public User() { } public User(String userName, String userPass) { this.userName = userName; this.userPass = userPass; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserPass() { return userPass; } public void setUserPass(String userPass) { this.userPass = userPass; } }
至此所有代码都贴上了。。。。
如果有需要,可以在评论里和我说下,我会将整个项目发给你.......共同进步!
发表评论
-
求oracle11g和10g 双机热备文档
2010-12-17 22:13 1579项目来了,,需求下来,,怕赔不起,,决定用热备 可怜的我,, ... -
江湖求方案,类似SSO系统的需求
2010-10-16 10:59 1494现有资料,大Boss交代我来弄,说实话,这东东我也不知道怎么 ... -
js array
2010-07-04 11:18 1032zhuan zi http://renxiangzyq.i ... -
Ldap之活动目录之userAccountControl
2010-04-22 10:27 3919When you open the properties fo ... -
Ldap之活动目录之属性
2010-04-22 10:19 1967“常规”标签 姓 Sn 名 Givename ... -
Ldap之活动目录介绍三
2010-04-22 10:12 1286安装第二台域控制器 在安装完第一台域控制器后其域名为 n ... -
Ldap之活动目录介绍二
2010-04-22 10:10 1335运行 Active Directory 安 ... -
Ldap之活动目录介绍一
2010-04-22 09:43 2715最近一直在做java通过Ldap去操作活动目录数据的东东,过程 ... -
我迷茫,我应该怎么走。望各位JE大哥指点!
2010-03-26 09:56 1738小弟六月毕业,在学校还算好学生,从大二起接触编程,,那时的编程 ... -
xp桌面回收站恢复
2010-02-21 19:14 881开始-运行gpedit.msc-本地计算机策略-用户配 ... -
MyEclipse7.5注册机
2010-01-25 17:29 974首先感谢提供源码的那位大牛,我只是做成了exe执行文件而已 -
DSA和RSA算法的差异
2009-11-20 19:13 16121978年就出现了这种算法 ... -
仿Google自动补全 jquery
2009-11-20 16:40 2892应大家要求,发一个包,方便大家使用,有问题欢迎e-mail : ... -
对称加密的两种方式
2009-11-18 22:33 1915对称加密,这东东现在 ... -
java简单对象池
2009-11-10 20:53 3994在项目中用到,自己写了个对象池的管理(创建、保留、获取),那种 ... -
仿Google自动补全 jQuery 不含索引处理 2
2009-11-08 14:39 1096Servlet。。。。。。。。。。。。。。。。。 pu ... -
仿Google自动补全 jQuery 不含索引处理
2009-11-08 14:29 1371自动补全 1. 页面有一个文本框,一个自动提示层,一个按 ... -
Java数据库通用查询及封装
2009-11-08 13:54 6302Java数据库通用查询及封装 时常在网上看到,有关Java数据 ... -
Java实现快排的算法
2009-10-14 22:28 2972Java实现快排的算法 public class Quick ... -
Collection List Set Map 区别记忆
2009-10-13 20:15 953一篇对Java集合讲解不错的文档,不是我写的,转过来和大家分享 ...
相关推荐
这个教程涵盖了Struts2的核心概念和技术,包括操作、标签、文件上传和过滤器的使用。下面将对这些主题进行详细解释。 1. **Struts2操作(Actions)** Struts2中的操作是业务逻辑的载体,它处理HTTP请求并返回相应...
内容概要:本文详细介绍了如何利用MATLAB进行价格型需求响应的研究,特别是电价弹性矩阵的构建与优化。文章首先解释了电价弹性矩阵的概念及其重要性,接着展示了如何通过MATLAB代码实现弹性矩阵的初始化、负荷变化量的计算以及优化方法。文中还讨论了如何通过非线性约束和目标函数最小化峰谷差,确保用户用电舒适度的同时实现负荷的有效调节。此外,文章提供了具体的代码实例,包括原始负荷曲线与优化后负荷曲线的对比图,以及基于历史数据的参数优化方法。 适合人群:从事电力系统优化、能源管理及相关领域的研究人员和技术人员。 使用场景及目标:适用于希望深入了解并掌握价格型需求响应机制的专业人士,旨在帮助他们更好地理解和应用电价弹性矩阵,优化电力系统的负荷分布,提高能源利用效率。 其他说明:文章强调了实际应用中的注意事项,如弹性矩阵的动态校准和用户价格敏感度的滞后效应,提供了实用的技术细节和实践经验。
一级医院医疗信息管理系统安装调试技术服务合同20240801.pdf
表5 文献综述.doc
36W低压输入正激电源 变压器电感设计
基于YOLOv8的深度学习课堂行为检测系统源码,软件开发环境python3.9,系统界面开发pyqt5。在使用前安装python3.9,并安装软件所需的依赖库,直接运行MainProgram.py文件即可打开程序。模型训练时,将train,val数据集的绝对路径改为自己项目数据集的绝对路径,运行train.py文件即可开始进行模型训练,内含项目文件说明,以及检测图片和视频。
odbc_oracle zabbix模版原版
内容概要:本文探讨了利用纳什谈判理论来优化风光氢多主体能源系统的合作运行方法。通过MATLAB代码实现了一个复杂的优化模型,解决了风电、光伏和氢能之间的合作问题。文中详细介绍了ADMM(交替方向乘子法)框架的应用,包括联盟效益最大化和收益分配谈判两个子任务。此外,还涉及了加权残差计算、目标函数构造、可视化工具以及多种博弈模式的对比等功能模块。实验结果显示,合作模式下系统总成本显著降低,氢能利用率大幅提升。 适合人群:从事能源系统研究的专业人士、对博弈论及其应用感兴趣的学者和技术人员。 使用场景及目标:适用于需要优化多主体能源系统合作运行的场合,如工业园区、电网公司等。主要目标是提高能源利用效率,降低成本,增强系统的灵活性和稳定性。 其他说明:代码中包含了丰富的可视化工具,能够帮助研究人员更好地理解和展示谈判过程及结果。同时,提供了多种博弈模式的对比功能,便于进行性能评估和方案选择。
内容概要:本文详细介绍了如何利用C#与Halcon联合编程构建高效的视觉几何定位与测量框架。主要内容涵盖模板创建与匹配、圆测量、数据持久化以及图像采集等方面的技术细节。首先,通过创建形状模板并进行匹配,实现了工件的精确定位。接着,针对圆形物体的测量,提出了动态ROI绘制、亚像素边缘提取和稳健圆拟合的方法。此外,还讨论了模板管理和图像采集的最佳实践,确保系统的稳定性和高效性。最后,强调了Halcon对象的内存管理和错误处理机制,提供了实用的优化建议。 适合人群:具备一定编程基础,尤其是对C#和Halcon有一定了解的研发人员和技术爱好者。 使用场景及目标:适用于工业生产线上的自动化检测设备开发,旨在提高工件定位和尺寸测量的精度与效率。主要目标是帮助开发者掌握C#与Halcon联合编程的具体实现方法,从而构建稳定可靠的视觉检测系统。 其他说明:文中提供了大量实战代码片段和调试技巧,有助于读者快速理解和应用相关技术。同时,作者分享了许多实际项目中的经验和教训,使读者能够避开常见陷阱,提升开发效率。
QT视频播放器实现(基于QGraphicsView)
评估管线钢环焊缝质量及其对氢脆的敏感性.pptx
该是一个在 Kaggle 上发布的数据集,专注于 2024 年出现的漏洞(CVE)信息。以下是关于该数据集的详细介绍:该数据集收集了 2024 年记录在案的各类漏洞信息,涵盖了漏洞的利用方式(Exploits)、通用漏洞评分系统(CVSS)评分以及受影响的操作系统(OS)。通过整合这些信息,研究人员和安全专家可以全面了解每个漏洞的潜在威胁、影响范围以及可能的攻击途径。数据主要来源于权威的漏洞信息平台,如美国国家漏洞数据库(NVD)等。这些数据经过整理和筛选后被纳入数据集,确保了信息的准确性和可靠性。数据集特点:全面性:涵盖了多种操作系统(如 Windows、Linux、Android 等)的漏洞信息,反映了不同平台的安全状况。实用性:CVSS 评分提供了漏洞严重程度的量化指标,帮助用户快速评估漏洞的优先级。同时,漏洞利用信息(Exploits)为安全研究人员提供了攻击者可能的攻击手段,有助于提前制定防御策略。时效性:专注于 2024 年的漏洞数据,反映了当前网络安全领域面临的新挑战和新趋势。该数据集可用于多种研究和实践场景: 安全研究:研究人员可以利用该数据集分析漏洞的分布规律、攻击趋势以及不同操作系统之间的安全差异,为网络安全防护提供理论支持。 机器学习与数据分析:数据集中的结构化信息适合用于机器学习模型的训练,例如预测漏洞的 CVSS 评分、识别潜在的高危漏洞等。 企业安全评估:企业安全团队可以参考该数据集中的漏洞信息,结合自身系统的实际情况,进行安全评估和漏洞修复计划的制定。
博客主页:https://blog.csdn.net/luoyayun361 QML ComboBox控件,输入关键字后自动过滤包含关键字的列表,方便快速查找列表项
内容概要:本文全面介绍了人工智能技术的发展历程、核心技术原理、应用方法及其未来趋势。首先阐述了人工智能的定义和核心目标,随后按时间顺序回顾了其从萌芽到爆发的五个发展阶段。接着详细讲解了机器学习、深度学习、自然语言处理和计算机视觉等核心技术原理,并介绍了使用现成AI服务和开发自定义AI模型的应用方法。此外,还展示了智能客服系统、图像分类应用和智能推荐系统的具体实现案例。针对普通用户,提供了使用大模型的指南和提问技巧,强调了隐私保护、信息验证等注意事项。最后展望了多模态AI、可解释AI等未来发展方向,并推荐了相关学习资源。; 适合人群:对人工智能感兴趣的初学者、技术人员以及希望了解AI技术应用的普通大众。; 使用场景及目标:①帮助初学者快速了解AI的基本概念和发展脉络;②为技术人员提供核心技术原理和应用方法的参考;③指导普通用户如何有效地使用大模型进行日常查询和任务处理。; 其他说明:本文不仅涵盖了AI技术的基础知识,还提供了丰富的实际应用案例和实用技巧,旨在帮助读者全面理解人工智能技术,并能在实际工作中加以应用。同时提醒读者关注AI伦理和版权问题,确保安全合法地使用AI工具。
本学习由 Matrix 工作室制作并开发,包括算法与数据结构的学习路线和各种题解。
本项目致力于构建基于微服务架构的智慧图书馆管理平台,重点突破多校区图书馆异构系统间的数据壁垒。通过建立统一数据治理规范、部署智能分析模块、重构业务流程引擎,系统性实现以下建设目标:构建跨馆业务数据的标准化整合通道,实施容器化部署的弹性资源管理体系,开发具备机器学习能力的业务辅助决策系统,打造可量化评估的管理效能提升模型,最终形成支持PB级数据处理的分布式存储体系与全维度数据资产图谱。
根据processlist查询出慢sql 1.修改配置文件中的mysql链接 2.目前是15秒执行一次获取执行时间在5秒上的sql,可以在配置中修改 3.执行后查出的慢sql会记录到log文件夹中以日期命名的txt文件中,可自行查验
全域通航 低空经济服务平台建设实施方案.pptx