基于java+sql+servlet的金融借贷管理系统
一套基于基于JavaWeb实现的金融借贷系统 或 P2P金融管理系统 或 小额贷款系统,详细介绍了金融借贷系统的实现,包括:1.项目介绍2.环境搭建3.系统功能4.技术实现5.项目运行6.功能演示以通俗易懂的方式,手把手的带你从零开始运行本套金融借贷系统,该项目附带全部源码可作为毕设使用。
系统功能 系统分为前台主页和后台管理:前台主页
融资产品查询、产品详情、申请贷款、每日新闻查询、新闻详情
后台管理登陆、贷款申请查询、贷款申请详情、融资产品管理、产品类型管理、贷款周期管理、新闻管理、企业管理、修改密码、注销等
包含源程序,数据库脚本。代码和数据库脚本都有详细注释。
课题设计仅供参考学习使用,可以在此基础上进行扩展完善
二、技术实现
1.后台框架:Servlet、JDBC、FileUpload
2.UI界面:BootStrap、jQuery、Ajax、artTemplate
3.数据库:MySQL运行环境:JDK 8
Eclipse
Tomcat 7.0
MySQL 5.5
开发环境:
Eclipse ,MYSQL,JDK1.8,Tomcat 8.5
涉及技术点:
MVC模式、HTML、log4j、druid、Bootstrap、
Semantic UI、Thymeleaf、JavaScript、CSS、JQUERY、Ajax等
适合学习J2EE的一段时间的熟手,代码思路清晰,注解详细,数据库用的是mysql5.1,服务器用的tomcat8.5,JDK版本1.8. 编程软件Eclispe J2EE版本。是典型MVC架构,
主要功能:发布贷款信息
申请名单
我的借贷
我的理财
修改资料
修改密码
借贷平台
申请贷款
package com.example.huochai.activity;
import java.util.Timer;
import java.util.TimerTask;
import com.example.huochai.R;
import com.example.huochai.fixedvalue.SString;
import com.example.huochai.music.Music;
import com.example.huochai.record.Set;
import com.example.huochai.view.ExView;
import com.example.huochai.view.NumberSeekBar;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.GestureDetector;
import android.view.KeyEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.ScaleAnimation;
import android.view.animation.Animation.AnimationListener;
import android.widget.Button;
import android.widget.TextView;
public class MatchActivity extends Activity {
public static int width = 0;
Music music;
static boolean destory;
boolean isPause;
private NumberSeekBar pb;
private GestureDetector gestureScanner;
Button resert,pause,home;
ExView exView;
private SharedPreferences mPref;
int max=1000;
int max1;
int count=0;
int stopCount=0;
TextView hint;
int SoundInt=0;
@SuppressLint("HandlerLeak")
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
startActivity(new Intent(MatchActivity.this,EndActivity.class));
handler.removeMessages(msg.what);
finish();
break;
case 1:
if(pb.getProgress()<pb.getMax()&&destory==false){
pb.setProgress(pb.getProgress()+1);
System.out.print(destory);
System.out.println("66666");
}
// mpref.edit().putInt("time", pb.getProgress()).commit();
break;
case 2:
System.out.print(destory);
System.out.println(pb.getProgress());
//pb.setProgress(pb.getProgress());
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
requestWindowFeature(Window.FEATURE_LEFT_ICON);
WindowManager manager = getWindowManager();
width = manager.getDefaultDisplay().getWidth();
setContentView(R.layout.activity_main);
isPause = false;
destory = false;
pb=(NumberSeekBar)findViewById(R.id.bar0);
mPref=getSharedPreferences("settime", MODE_PRIVATE);
String num=mPref.getString("settime", "");
if(TextUtils.isEmpty(num))
{
pb.setMax(max);
}
else
{
max1=Integer.parseInt(num);
pb.setMax(max1);
}
init();
start();
exView = (ExView)this.findViewById(R.id.exView);
this.hint = (TextView)this.findViewById(R.id.textView);
hint.setText(SString.getString(exView.getFigure().getIndex()));
exView.setHint(hint);
resert=(Button) findViewById(R.id.reset);
resert.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AnimationSet animationSet=new AnimationSet(true);
ScaleAnimation scaleAnimation=new ScaleAnimation(0.8f,0.8f,0.8f,0.8f,
Animation.RELATIVE_TO_SELF,0.6f,
Animation.RELATIVE_TO_SELF,0.6f);
scaleAnimation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
exView.reset();
}
});
//AssetsLoad.playSound(getApplicationContext(), AssetsLoad.dropSoundId);
animationSet.addAnimation(scaleAnimation);
animationSet.setFillBefore(true);
animationSet.setDuration(100);
resert.startAnimation(animationSet);
}
});
pause=(Button) findViewById(R.id.stop);
pause.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
AnimationSet animationSet=new AnimationSet(true);
ScaleAnimation scaleAnimation=new ScaleAnimation(0.9f,0.9f,0.9f,0.9f,
Animation.RELATIVE_TO_SELF,0.6f,
Animation.RELATIVE_TO_SELF,0.6f);
animationSet.addAnimation(scaleAnimation);
animationSet.setFillBefore(true);
animationSet.setDuration(100);
pause.startAnimation(animationSet);
if(stopCount%2==0)
{
pause.setBackgroundResource(R.drawable.play);
destory=true;
hint.setVisibility(View.INVISIBLE);
exView.setVisibility(View.INVISIBLE);
}
else{
pause.setBackgroundResource(R.drawable.pause);
destory=false;
hint.setVisibility(View.VISIBLE);
exView.setVisibility(View.VISIBLE);
}
stopCount++;
}
});
home=(Button) findViewById(R.id.home);
// 设置音乐
music = new Music(this);
if (Set.isMusic()) {
Music.play();
home.setBackgroundResource(R.drawable.sopen);
home.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
AnimationSet animationSet=new AnimationSet(true);
ScaleAnimation scaleAnimation=new ScaleAnimation(0.9f,0.9f,0.9f,0.9f,
Animation.RELATIVE_TO_SELF,0.6f,
Animation.RELATIVE_TO_SELF,0.6f);
animationSet.addAnimation(scaleAnimation);
animationSet.setFillBefore(true);
animationSet.setDuration(100);
home.startAnimation(animationSet);
Set.setnewMusic();
//声音的开启与关闭
if(SoundInt%2==0)
{
home.setBackgroundResource(R.drawable.sclose);
//关闭音乐
Music.pause();
Set.disMusic();
}
else
{
home.setBackgroundResource(R.drawable.sopen);
//开启音乐
Music.play();
Set.setnewMusic();
}
SoundInt++;
}
});
}
else
{
//Music.pause();
home.setBackgroundResource(R.drawable.sclose);home.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
AnimationSet animationSet=new AnimationSet(true);
ScaleAnimation scaleAnimation=new ScaleAnimation(0.9f,0.9f,0.9f,0.9f,
Animation.RELATIVE_TO_SELF,0.6f,
Animation.RELATIVE_TO_SELF,0.6f);
animationSet.addAnimation(scaleAnimation);
animationSet.setFillBefore(true);
animationSet.setDuration(100);
home.startAnimation(animationSet);
Set.isMusic();
Set.setnewMusic();
Music.play();
//声音的开启与关闭
if(SoundInt%2==0)
{
home.setBackgroundResource(R.drawable.sopen);
//开启音乐
Music.play();
Set.setnewMusic();
}
else
{
home.setBackgroundResource(R.drawable.sclose);
//关闭音乐
Music.pause();
Set.disMusic();
}
SoundInt++;
}
});
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_BACK)
{
destory=true;
Music.pause();
new AlertDialog.Builder(this)
.setTitle("退出游戏")
.setMessage("当前退出,游戏以失败结束...")
// .setIcon(R.drawable.quit)
.setPositiveButton("放弃",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
//System.out.println(handler.sendEmptyMessage(2));
startActivity(new Intent(MatchActivity.this,EndActivity.class));
MatchActivity.this.finish();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// 取消按钮事件
destory=false;
Music.play();
}
}).show();
}
return super.onKeyDown(keyCode, event);
}
private void start() {
pb.setTextSize(30);// 设置字体大小
pb.setTextColor(Color.WHITE);// 颜色
pb.setMyPadding(10, 10, 10, 10);// 设置padding 调用setpadding会无效
pb.setImagePadding(0, 1);// 可以不设置
pb.setTextPadding(0, 0);// 可以不设置
}
private void init() {
TimerTask tt = new TimerTask() {
@Override
public void run() {
//if(destory==false)
// {
if(pb.getProgress()==max&&destory==false)
{
handler.sendEmptyMessage(0);
max=max+2;
}
else if(pb.getProgress()<max &&destory==false)
{
handler.sendEmptyMessage(1);
}
else if(destory==true)
{
handler.sendEmptyMessage(2);
}
}
};
Timer timer = new Timer();
timer.schedule(tt, 1000, 1000);
}
public void next(View v) {
//exView.
exView.next();
}
public void reset(View v) {
exView.reset();
}
public void answer(View v) {
exView.showAnswer();
}
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
// 关闭音乐
if (Set.isMusic() && music.isPlaying() && destory) {
Music.stop();
}
}
@Override
public void onPause() {
// TODO Auto-generated method stub
Log.i("tag", "onPause");
super.onPause();
// 暂停音乐
if (Set.isMusic() && (!destory) && music.isPlaying()) {
Music.pause();
}
// 转到暂停界面
if ((!isPause) && (!destory)) {
Intent intent = new Intent();
}
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
Log.i("tag", "onResume");
super.onResume();
isPause = false;
// 重启音乐
if (Set.isMusic() && (!music.isPlaying())) {
Music.play();
}
}
}
代码已经上传github,下载地址https://github.com/21503882/credit
————————————————
版权声明:本文为CSDN博主「qq346127357」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/QQ346127357/article/details/102522251基于SpringBoot+Redis的金融借贷管理系统mysql数据源
1.包含源程序,数据库脚本。代码和数据库脚本都有详细注释。
2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善
代码已经上传github,下载地址https://github.com/21503882/credit
开发环境:
Eclipse ,MYSQL,JDK1.8,Tomcat 8.5
涉及技术点:
MVC模式、SpringBoot、Mybatis、Redis、HTML、log4j、druid、Bootstrap、
Semantic UI、Thymeleaf、JavaScript、CSS、JQUERY、Ajax等
适合学习J2EE的一段时间的熟手,代码思路清晰,注解详细,数据库用的是mysql5.1,服务器用的tomcat8.5,JDK版本1.8. 编程软件Eclispe J2EE版本。是典型MVC架构,并且前后台分离
主要功能:发布贷款信息
申请名单
我的借贷
我的理财
修改资料
修改密码
借贷平台
申请贷款
package com.example.huochai.activity;
import java.util.Timer;
import java.util.TimerTask;
import com.example.huochai.R;
import com.example.huochai.fixedvalue.SString;
import com.example.huochai.music.Music;
import com.example.huochai.record.Set;
import com.example.huochai.view.ExView;
import com.example.huochai.view.NumberSeekBar;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.GestureDetector;
import android.view.KeyEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.ScaleAnimation;
import android.view.animation.Animation.AnimationListener;
import android.widget.Button;
import android.widget.TextView;
public class MatchActivity extends Activity {
public static int width = 0;
Music music;
static boolean destory;
boolean isPause;
private NumberSeekBar pb;
private GestureDetector gestureScanner;
Button resert,pause,home;
ExView exView;
private SharedPreferences mPref;
int max=1000;
int max1;
int count=0;
int stopCount=0;
TextView hint;
int SoundInt=0;
@SuppressLint("HandlerLeak")
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
startActivity(new Intent(MatchActivity.this,EndActivity.class));
handler.removeMessages(msg.what);
finish();
break;
case 1:
if(pb.getProgress()<pb.getMax()&&destory==false){
pb.setProgress(pb.getProgress()+1);
System.out.print(destory);
System.out.println("66666");
}
// mpref.edit().putInt("time", pb.getProgress()).commit();
break;
case 2:
System.out.print(destory);
System.out.println(pb.getProgress());
//pb.setProgress(pb.getProgress());
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
requestWindowFeature(Window.FEATURE_LEFT_ICON);
WindowManager manager = getWindowManager();
width = manager.getDefaultDisplay().getWidth();
setContentView(R.layout.activity_main);
isPause = false;
destory = false;
pb=(NumberSeekBar)findViewById(R.id.bar0);
mPref=getSharedPreferences("settime", MODE_PRIVATE);
String num=mPref.getString("settime", "");
if(TextUtils.isEmpty(num))
{
pb.setMax(max);
}
else
{
max1=Integer.parseInt(num);
pb.setMax(max1);
}
init();
start();
exView = (ExView)this.findViewById(R.id.exView);
this.hint = (TextView)this.findViewById(R.id.textView);
hint.setText(SString.getString(exView.getFigure().getIndex()));
exView.setHint(hint);
resert=(Button) findViewById(R.id.reset);
resert.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AnimationSet animationSet=new AnimationSet(true);
ScaleAnimation scaleAnimation=new ScaleAnimation(0.8f,0.8f,0.8f,0.8f,
Animation.RELATIVE_TO_SELF,0.6f,
Animation.RELATIVE_TO_SELF,0.6f);
scaleAnimation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
exView.reset();
}
});
//AssetsLoad.playSound(getApplicationContext(), AssetsLoad.dropSoundId);
animationSet.addAnimation(scaleAnimation);
animationSet.setFillBefore(true);
animationSet.setDuration(100);
resert.startAnimation(animationSet);
}
});
pause=(Button) findViewById(R.id.stop);
pause.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
AnimationSet animationSet=new AnimationSet(true);
ScaleAnimation scaleAnimation=new ScaleAnimation(0.9f,0.9f,0.9f,0.9f,
Animation.RELATIVE_TO_SELF,0.6f,
Animation.RELATIVE_TO_SELF,0.6f);
animationSet.addAnimation(scaleAnimation);
animationSet.setFillBefore(true);
animationSet.setDuration(100);
pause.startAnimation(animationSet);
if(stopCount%2==0)
{
pause.setBackgroundResource(R.drawable.play);
destory=true;
hint.setVisibility(View.INVISIBLE);
exView.setVisibility(View.INVISIBLE);
}
else{
pause.setBackgroundResource(R.drawable.pause);
destory=false;
hint.setVisibility(View.VISIBLE);
exView.setVisibility(View.VISIBLE);
}
stopCount++;
}
});
home=(Button) findViewById(R.id.home);
// 设置音乐
music = new Music(this);
if (Set.isMusic()) {
Music.play();
home.setBackgroundResource(R.drawable.sopen);
home.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
AnimationSet animationSet=new AnimationSet(true);
ScaleAnimation scaleAnimation=new ScaleAnimation(0.9f,0.9f,0.9f,0.9f,
Animation.RELATIVE_TO_SELF,0.6f,
Animation.RELATIVE_TO_SELF,0.6f);
animationSet.addAnimation(scaleAnimation);
animationSet.setFillBefore(true);
animationSet.setDuration(100);
home.startAnimation(animationSet);
Set.setnewMusic();
//声音的开启与关闭
if(SoundInt%2==0)
{
home.setBackgroundResource(R.drawable.sclose);
//关闭音乐
Music.pause();
Set.disMusic();
}
else
{
home.setBackgroundResource(R.drawable.sopen);
//开启音乐
Music.play();
Set.setnewMusic();
}
SoundInt++;
}
});
}
else
{
//Music.pause();
home.setBackgroundResource(R.drawable.sclose);home.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
AnimationSet animationSet=new AnimationSet(true);
ScaleAnimation scaleAnimation=new ScaleAnimation(0.9f,0.9f,0.9f,0.9f,
Animation.RELATIVE_TO_SELF,0.6f,
Animation.RELATIVE_TO_SELF,0.6f);
animationSet.addAnimation(scaleAnimation);
animationSet.setFillBefore(true);
animationSet.setDuration(100);
home.startAnimation(animationSet);
Set.isMusic();
Set.setnewMusic();
Music.play();
//声音的开启与关闭
if(SoundInt%2==0)
{
home.setBackgroundResource(R.drawable.sopen);
//开启音乐
Music.play();
Set.setnewMusic();
}
else
{
home.setBackgroundResource(R.drawable.sclose);
//关闭音乐
Music.pause();
Set.disMusic();
}
SoundInt++;
}
});
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_BACK)
{
destory=true;
Music.pause();
new AlertDialog.Builder(this)
.setTitle("退出游戏")
.setMessage("当前退出,游戏以失败结束...")
// .setIcon(R.drawable.quit)
.setPositiveButton("放弃",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
//System.out.println(handler.sendEmptyMessage(2));
startActivity(new Intent(MatchActivity.this,EndActivity.class));
MatchActivity.this.finish();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// 取消按钮事件
destory=false;
Music.play();
}
}).show();
}
return super.onKeyDown(keyCode, event);
}
private void start() {
pb.setTextSize(30);// 设置字体大小
pb.setTextColor(Color.WHITE);// 颜色
pb.setMyPadding(10, 10, 10, 10);// 设置padding 调用setpadding会无效
pb.setImagePadding(0, 1);// 可以不设置
pb.setTextPadding(0, 0);// 可以不设置
}
private void init() {
TimerTask tt = new TimerTask() {
@Override
public void run() {
//if(destory==false)
// {
if(pb.getProgress()==max&&destory==false)
{
handler.sendEmptyMessage(0);
max=max+2;
}
else if(pb.getProgress()<max &&destory==false)
{
handler.sendEmptyMessage(1);
}
else if(destory==true)
{
handler.sendEmptyMessage(2);
}
}
};
Timer timer = new Timer();
timer.schedule(tt, 1000, 1000);
}
public void next(View v) {
//exView.
exView.next();
}
public void reset(View v) {
exView.reset();
}
public void answer(View v) {
exView.showAnswer();
}
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
// 关闭音乐
if (Set.isMusic() && music.isPlaying() && destory) {
Music.stop();
}
}
@Override
public void onPause() {
// TODO Auto-generated method stub
Log.i("tag", "onPause");
super.onPause();
// 暂停音乐
if (Set.isMusic() && (!destory) && music.isPlaying()) {
Music.pause();
}
// 转到暂停界面
if ((!isPause) && (!destory)) {
Intent intent = new Intent();
}
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
Log.i("tag", "onResume");
super.onResume();
isPause = false;
// 重启音乐
if (Set.isMusic() && (!music.isPlaying())) {
Music.play();
}
}
}