springMVC文件上传
使用springMVC+hibernate实现的文件上传。数据库使用oracle
easyUI的青鸟OA系统(很简单的)
使用easyUI做的简单的OA,mysql数据库,ssh框架,jquery的easyui做前台,实现文件上传,layout布局,树形菜单等等
html转jsp工具
1、此工具只针对utf-8和gb2312两种编码格式的网页进行转换,其他编码格式的网页不支持转换!
2、此工具会自动在html页面的开始位置加入以下内容,并自动将html或者htm页面转为jsp后缀的文件
3、此工具能够自动更新页面的超链接为.jsp的文件路径
4、此工具只作为个人研究使用,不得用于商业用途
5、此工具不提供代码自动生成功能
6、此工具用java开发,在使用时必须配置jdk的环境变量,否则无法正常执行
easyUI做的员工管理
easyUI框架做的员工管理,包含一对多和图片上传处理,用到了easyUI的layout做的框架
easyUI学生管理
使用struts2+spring+hibernate注解技术,融合easyUI和fastjson做的一个小案例,研究价值很高
Android组件ViewFlipper的使用
使用ViewFlipper的手势功能完成的图像之间的切换、
package com.action;
import android.app.Activity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.view.GestureDetector.OnGestureListener;
import android.view.View.OnTouchListener;
import android.view.animation.AlphaAnimation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.ViewFlipper;
public class MainFlingDemoActivity extends Activity implements OnGestureListener {
/** Called when the activity is first created. */
private ViewFlipper vf;
private GestureDetector detector;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView iv1=new ImageView(this);
ImageView iv2=new ImageView(this);
ImageView iv3=new ImageView(this);
iv1.setImageResource(R.drawable.a1);
iv2.setImageResource(R.drawable.a2);
iv3.setImageResource(R.drawable.a3);
detector = new GestureDetector(this);
vf=(ViewFlipper) findViewById(R.id.viewFlipper1);
AlphaAnimation an=new AlphaAnimation(0.1f,1.0f);
an.setDuration(1000);
vf.setAnimation(an);
vf.addView(iv1, 0);
vf.setAnimation(an);
vf.addView(iv2, 1);
vf.setAnimation(an);
vf.addView(iv3, 2);
vf.setAnimation(an);
if(detector.isLongpressEnabled()){
vf.setFlipInterval(5000);
vf.startFlipping();
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
return this.detector.onTouchEvent(event);
}
@Override
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub
System.out.println("===============");
//vf.stopFlipping();
if (e1.getX() - e2.getX() > 120) {
this.vf.setInAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_in));
this.vf.setOutAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_out));
this.vf.showNext();
return true;
} else if (e1.getX() - e2.getX() < -120) {
this.vf.setInAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_in));
this.vf.setOutAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_out));
this.vf.showPrevious();
return true;
}
if (e1.getY() - e2.getY() > 120) {
this.vf.setInAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_in));
this.vf.setOutAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_out));
this.vf.showNext();
return true;
} else if (e1.getY() - e2.getY() < -120) {
this.vf.setInAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_in));
this.vf.setOutAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_out));
this.vf.showPrevious();
return true;
}
return false;
}
@Override
public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub
//vf.startFlipping();
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
}
Android组件ConverFlow(继承Gallery)
使用画廊做的一个带有倒影的画廊
package com.action;
import android.content.Context;
import android.graphics.Camera;
import android.graphics.Matrix;
import android.util.AttributeSet;
import android.view.View;
import android.view.animation.Transformation;
import android.widget.Gallery;
import android.widget.ImageView;
public class GalleryFlow extends Gallery {
/**
* Graphics Camera used for transforming the matrix of ImageViews
*/
private Camera mCamera = new Camera();
/**
* The maximum angle the Child ImageView will be rotated by
*/
private int mMaxRotationAngle = 60;
/**
* The maximum zoom on the centre Child
*/
private int mMaxZoom = -120;
/**
* The Centre of the Coverflow
*/
private int mCoveflowCenter;
public GalleryFlow(Context context) {
super(context);
this.setStaticTransformationsEnabled(true);
}
public GalleryFlow(Context context, AttributeSet attrs) {
super(context, attrs);
this.setStaticTransformationsEnabled(true);
}
public GalleryFlow(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
this.setStaticTransformationsEnabled(true);
}
/**
* Get the max rotational angle of the image
*
* @return the mMaxRotationAngle
*/
public int getMaxRotationAngle() {
return mMaxRotationAngle;
}
/**
* Set the max rotational angle of each image
*
* @param maxRotationAngle
* the mMaxRotationAngle to set
*/
public void setMaxRotationAngle(int maxRotationAngle) {
mMaxRotationAngle = maxRotationAngle;
}
/**
* Get the Max zoom of the centre image
*
* @return the mMaxZoom
*/
public int getMaxZoom() {
return mMaxZoom;
}
/**
* Set the max zoom of the centre image
*
* @param maxZoom
* the mMaxZoom to set
*/
public void setMaxZoom(int maxZoom) {
mMaxZoom = maxZoom;
}
/**
* Get the Centre of the Coverflow
*
* @return The centre of this Coverflow.
*/
private int getCenterOfCoverflow() {
return (getWidth() - getPaddingLeft() - getPaddingRight()) / 2
+ getPaddingLeft();
}
/**
* Get the Centre of the View
*
* @return The centre of the given view.
*/
private static int getCenterOfView(View view) {
return view.getLeft() + view.getWidth() / 2;
}
/**
* {@inheritDoc}
*
* @see #setStaticTransformationsEnabled(boolean)
*/
protected boolean getChildStaticTransformation(View child, Transformation t) {
final int childCenter = getCenterOfView(child);
final int childWidth = child.getWidth();
int rotationAngle = 0;
t.clear();
t.setTransformationType(Transformation.TYPE_MATRIX);
if (childCenter == mCoveflowCenter) {
transformImageBitmap((ImageView) child, t, 0);
} else {
rotationAngle = (int) (((float) (mCoveflowCenter - childCenter) / childWidth) * mMaxRotationAngle);
if (Math.abs(rotationAngle) > mMaxRotationAngle) {
rotationAngle = (rotationAngle < 0) ? -mMaxRotationAngle
: mMaxRotationAngle;
}
transformImageBitmap((ImageView) child, t, rotationAngle);
}
return true;
}
/**
* This is called during layout when the size of this view has changed. If
* you were just added to the view hierarchy, you're called with the old
* values of 0.
*
* @param w
* Current width of this view.
* @param h
* Current height of this view.
* @param oldw
* Old width of this view.
* @param oldh
* Old height of this view.
*/
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
mCoveflowCenter = getCenterOfCoverflow();
super.onSizeChanged(w, h, oldw, oldh);
}
/**
* Transform the Image Bitmap by the Angle passed
*
* @param imageView
* ImageView the ImageView whose bitmap we want to rotate
* @param t
* transformation
* @param rotationAngle
* the Angle by which to rotate the Bitmap
*/
private void transformImageBitmap(ImageView child, Transformation t,
int rotationAngle) {
mCamera.save();
final Matrix imageMatrix = t.getMatrix();
final int imageHeight = child.getLayoutParams().height;
final int imageWidth = child.getLayoutParams().width;
final int rotation = Math.abs(rotationAngle);
// 在Z轴上正向移动camera的视角,实际效果为放大图片。
// 如果在Y轴上移动,则图片上下移动;X轴上对应图片左右移动。
mCamera.translate(0.0f, 0.0f, 100.0f);
// As the angle of the view gets less, zoom in
if (rotation < mMaxRotationAngle) {
float zoomAmount = (float) (mMaxZoom + (rotation * 1.5));
mCamera.translate(0.0f, 0.0f, zoomAmount);
}
// 在Y轴上旋转,对应图片竖向向里翻转。
// 如果在X轴上旋转,则对应图片横向向里翻转。
mCamera.rotateY(rotationAngle);
mCamera.getMatrix(imageMatrix);
imageMatrix.preTranslate(-(imageWidth / 2), -(imageHeight / 2));
imageMatrix.postTranslate((imageWidth / 2), (imageHeight / 2));
mCamera.restore();
}
}
android应用--在GridView上显示SD卡上的所有图片
浏览sd卡上的图片文件,显示在GridView控件上,自定义图片适配器,点击小图,能在对话框上显示大图
在flex的dataGrid控件中显示图片的实践
felx和springHibernate整合传递二进制数据到表中并在flex的dataGrid控件中显示的实践
使用AndroidGallary访问sd卡pic文件夹下的图片画廊
使用ImageSwitcher和Galleray完成的对sd卡下面的pic目录中的图片进行访问,并生成略缩图和大图,略缩图在画廊中,大图在ImageSwitcher上显示
android访问struts2+spring+hibernate应用
此压缩包含有两个工程,一个工程是struts2+spring2.5+hibernate3.3整合的服务器端技术(全注解)(云端),另一个工程是android的手机应用,包含对ssh整合的云端数据的访问,能够在android输入信息,将数据传递给服务器的struts2以及后台进行处理,android能访问struts2解析的JSON格式的数据,android手机端应用包含分页显示,分页的业务逻辑由服务器执行!
matrix键盘缩放旋转图片
使用android的matrix技术键盘缩放旋转图片代码
android与ssh整合
客户端使用android,服务器端使用struts2+spring2.5+hibernate3.3全注解整合,在struts2中获取android传递的数据,并将从数据库中获取的数据转为json格式传递给android,在android端可以进行分页显示,分页的业务逻辑在服务器端实现.ssh整合的jar包已经去掉,需要的自己家加上,数据库使用ms sql2005,解决中文问题
flex+hibernate+mysql做得增删改查的例子
使用flex作为表现层技术,用hiernate访问数据库完成的简单的增删改查的实例.
JPA开发流程课件以及注意事项
介绍使用Myeclipse6.x开发JPA的详细过程以及注意事项
spring整合JPA
使用Myeclipse6.x开发<br>spring整合JPA的例子<br>需要自己导组件包<br>然后将原代码放到相应的目录下<br>刚刚写完,<br>别忘了顶一下
搭建鸿蒙设备开发环境(完整版20243.0301更新)
搭建鸿蒙设备开发环境(完整版20243.0301更新)
HDFS的API操作(通过springboot实现)
HDFS的API操作(通过springboot实现)
大数据Hadoop、MapReduce、Hive项目实践
大数据Hadoop、MapReduce、Hive项目实践
spark数据分析基础
随着实时大数据应用越来越多,Hadoop作为离线的高吞吐、低响应框架已不能满足这类需求。Hadoop MapReduce的Job将中间输出和结果存储在HDFS中,读写HDFS造成磁盘IO成为瓶颈。Spark允许将中间输出和结果存储在内存中,节省了大量的磁盘IO。同时Spark自身的DAG执行引擎也支持数据在内存中的计算。Spark官网声称性能比Hadoop快100倍。即便是内存不足需要磁盘IO,其速度也是Hadoop的10倍以上。
智慧景区管理系统平台建设
主要包含景区的后台管理模块包括:景点管理、停车场管理、门票管理和游客管理,游客可以订票,预定车位等
Scrapy 爬虫教程实践
Scrapy 爬虫教程实践
pythonWeb编程之Django详解
pythonWeb编程之Django详解
使用springcloud+mybatis+mysql构建的分布式员工信息管理,单表的.开发工具使用maven
一、使用springcloud+MyBatis+MySql
1.1.Maven新建父项目,在pom.xml加入mysql的依赖
1.2.新建公共模块(实体类)使用工具生成
1.3.建立中央注册服务器EurekaServer
1.4.建立Dao服务器模块EurekaClient,引入MyBatis的依赖,生成Dao接口和XxxDao.xml,编写Dao控制器.用于业务层服务器进行远程接口的调用
1.5.建立Biz服务器模块EurekaClient,引入Feign远程调用组件,调用Dao服务器提供远程接口。编写业务的控制器组件,用于控制器服务器模块的调用。
1.6.建立控制层服务器模块EurekaClient,引入Feign组件,调用业务层的控制器组件。
1.7.使用页面访问服务器的控制器。
prjVueServletStudentManager.rar
使用vue+servlet+html实现的简单的前后端分离项目
prjMavenSpringmvcMyBatis.rar
maven多模块项目,使用ssm构建的员工管理系统,使用多模块构建,项目采用三张表,前端使用vue包括文件上传处理!
prjSpringdataEmpmanager.rar
使用springboot和springdata重构的员工管理系统
prjSpringBootEmpmanager.rar
使用springboot、springMVC、mybatis、mysql构建的员工管理系统,带有文件上传的功能,前端采用easyui
prjWuliu702.rar
使用springmvc+mybatis+oracle构建的物流系统,总计27张表,实习生可以用,前端使用easyui,数据库文件wuliudb.dmp
要使用pl/sql工具导入
easyUI标签生成工具
使用java开发的代码生成工具,主要是自己的项目中用的,可自动生成easyui的datagrid列表,根据实体类生成增加和修改的页面