摘要:
上传文件在一个系统当中是一个很常用的功能,也是一个比较重要的功能。今天我们就一起来学习一下Struts2如何上传文件。今天讲的上传文件的方式有三种:1,以字节为单位传输文件;2,Struts2封装的一种方式;3,以字符的方式传输文件。 其实这三种方式都差不多,都是将文件先从客户端一临时文件的形式,传输到服务器的临时文件夹下,然后在将该临时文件复制到我们要上传的目录。另外,有一个需要注意,就是上传过程中产生的这些临时文件,Struts2不会自动清理,所以我们需要手动清理临时文件,这一个下面的代码中有提到。 用Action来完成我们上传的核心功能:package com.action;im... 阅读全文
摘要:
什么是拦截器拦截器(Interceptor)是Struts 2的一个强有力的工具,有许多功能都是构建于它之上,如国际化(前两篇博客介绍过)、转换器,校验等。拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。说到拦截器有一个东西不能落下——拦截器链(Interceptor Chain,在Struts 2中称为拦截器栈Interceptor Stack)。拦截器链就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,拦截 阅读全文
摘要:
前几天发了一篇Struts国际化的博客——《菜鸟学习SSH(二)——Struts2国际化手动切换版》,有网友提了一个意见,见下图: 于是就有了下面修改的版本: web.xml index struts2 org.apache.struts2.dispat... 阅读全文
摘要:
国际化(internationalization,i18n)和本地化(localization,l10n)指让产品(出版物,软件,硬件等)能够适应非本地环境,特别是其他的语言和文化。程序在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面。 国际化原理: 国际化资源文件:用不同国家的语言描述相同的信息,并放在各自对应的.properties属性文件中,程序根据运行时环境决定加载哪个文件。 国际化主要通过以下类完成: java.util.Locale:对应一个特定的国家/区域、语言环境。 java.util.ResourceBundle:用于加载一个资源包。 I18nIntercep.. 阅读全文
摘要:
上一篇博文《菜鸟学编程(九)——Java反射机制(一)》里面,向大家介绍了什么是Java的反射机制,以及Java的反射机制有什么用。上一篇比较偏重理论,理论的东西给人讲出来总感觉虚无缥缈,还是结合一些实例比较形象具体。那么今天就结合更多的实例具体说说。 实例一:获得完整的类名package reflection.getclassname;//获得完整的类名public class GetClassName { public String getNameByClass() { String name = ""; System.out.prin... 阅读全文
摘要:
说到反射,相信有过编程经验的人都不会陌生。反射机制让Java变得更加的灵活。反射机制在Java的众多特性中是非常重要的一个。下面就让我们一点一点了解它是怎么一回事。 什么是反射 在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 反射有什么用 1,在运行时判断任意一个对象所属的类; 2,在运行时构造任意一个类的对象; 3,在运行时判断任意一个类所具有的成员变量和方法; 4,在运行时调用任意一个对象的方法; 5,生成动态代理。 反射的API ... 阅读全文
摘要:
最近由于种种原因,需要将以前用MyEclipse写的项目迁移到Eclipse中。但是当我将之前的项目import到Eclipse中后,发现根本不能运行。经过一番寻觅,终于让我找到了一种解决的办法。一起看看吧! 修改项目中的.project文件(用记事本打开) 1,增加一个 org.eclipse.wst.validation.validationbuilder 2,修改 org.eclipse.wst.common.project.facet.core.nature org.eclipse.wst.common.modul... 阅读全文
摘要:
今天跟大家分享一下MySQL从连接到具体操作的一系列常用命令。可能有的人觉得现在有很多可视化的工具,没必要再学习那些具体的命令了,但是我不这么认为,不可否认那些工具的确让我们的工作更加方便快捷,但是如果真的要学好这些东西,这些命令是不能绕过的。总之能够熟练掌握这些命令对于一个程序员还是非常重要的。废话不多说了,下面一起看看我为各位整理的各种命令吧! 想要对MySQL进行操作首先要开启MySQL的服务,Win+R ——> cmd——>net start mysql(停止就是把start换成stop)这样MySQL的服务就开启了。下面就可以对MySQL进行一系列的操作了。 一、连接MY 阅读全文
摘要:
这些年的一些经历告诉我,很多初学者搞不清超键、候选键等,被数据库中的各种键搞的一头雾水。下面就跟大家一起聊聊数据库中的那些键。 首先看看各种键的定义: 超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键 候选键(candidate key):不含有多余属性的超键称为候选键 主键(primary key):用户选作元组标识的一个候选键程序主键 外键(foreign key)如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1的外键。 结合实例的具体解释: 假设有如下两个表: 学生(学号,姓名,性别,身份证号,... 阅读全文
摘要:
从今天开始,一起跟各位聊聊java的三大框架——SSH。先从Struts开始说起,Struts对MVC进行了很好的封装,使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。今天通过一个简单的例子来说说Struts。 登录页面: 这里面没啥东西,主要就是将action命名成“.do”的形式,让Struts通过配置文件来执行相应操作。Insert title here 用户: 密码: PS:表单中的name值... 阅读全文