当前位置: 首页 > news >正文

java进度条_Java实现进度条开发过程

首先说流程:

1.访问启动任务servlet

2.启动任务servlet开启任务,并跳转掉进度条展示页面

3.页面就绪就调用(进度参数获取servlet),此后进度条展示页面定时调用,直到传递过来为100%.

4.获取参数servlet从session中取出任务,并获取任务中的进度参数.返回进度参数给进度展示页面.

一下是各个文件代码,工程为web工程。

1.进度条schedule.css文件:

body {

margin:0;

padding:0;

font-family:"宋体";

font-size:12px;

line-height:1.8em;

color:#392b60;

height:100%;

}

/*最外层的div样式*/

.progressOutside {

border:red 1px dotted; /*边框1像素的红色虚线*/

width:350px; /*宽度是350像素*/

position:relative; /*相对body位置*/

margin-left:-175px; /*整个div宽度是350,-175px就是向右移动了175像素.正好居中.*/

left:50%; /*左边框距浏览器左边框是屏幕的一半.*/

margin-top:150px; /*上边框相对于body顶部35%*/

}

/*标题div样式*/

.progressTitle {

border:greenyellow 1px solid;

line-height:30px; /*设置行高

padding:0 15px 0; /*内填充 上:0, 右:15像素, 下:0*/

}

/*内容div样式*/

.progressContent {

border:purple 1px double;

padding:15px;

height:40px !important;

}

/*进度条框*/

.progress {

background:#f0f4f9 url(../imgs/2.gif) repeat-x top;

border:yellow 2px solid;

height:15px;

margin:10px 0 0 0 !important; margin:35px 0 0 0;

}

/*进度条实体*/

.progressSchedule {

border:red 1px double;

background:url(../imgs/1.gif) repeat-x left top;

width:3%;

height:15px;

}

/*进度提示框*/

.progressPercent {

text-align:center;

border:green 1px solid;

height:15px;

position:absolute;

display:block;

left:125px;

margin-top:-17px;

width:100px;

}

/*百分比提示框*/

.textProgress {

border:orange 1px solid;

font-weight:bold;

font-family:tohama;

}

2.页面文件invoke.jsp 用到了jquery.

css/schedule.css" rel="stylesheet" type="text/css">

Insert title here
进度条标题在此

完成

3.用到的ajax get.js文件

$(document).ready(function(){

getPercent();

});

function getPercent(){

$.post("process",{userName:'ab'},function(data){

styleId.style.width=data;

$("#bfb").text(data);

if(data!='100%'){

window.setTimeout(getPercent,100);

}else{

if(confirm("Finished?")){

window.location.href="/servlet1/index.html";

}

}

});

}

4.启动线程servlet Index.java

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

Progress p = (Progress) request.getSession().getAttribute("progress");

if(p!=null){

System.out.println("Thread Running!");

throw new RuntimeException("线程被占用!");

}else{

Progress progress = new Progress();

request.getSession().setAttribute("progress", progress);

progress.start();

}

response.sendRedirect(request.getContextPath()+"/invoke.jsp");

}

5.线程任务类-->要做的任务写在这个里面Progress.java

public class Progress extends Thread{

Logger logger = Logger.getLogger(Process.class);

//Getter方法省略

private String percent = "";

//Getter方法省略

private boolean over = false;

public void run(){

for(int i=1;i<=100;i++){

try {

Thread.sleep(1*100);

} catch (InterruptedException e) {

e.printStackTrace();

}

percent = i+"%";

}

if(logger.isDebugEnabled()){

logger.debug("thread run over!");

}

over = true;

}

}

6.取参数servlet-->此servlet是要被页面定时的调用,Process.java

被调用时,会取出当前任务线程,获取当前任务线程中的进度参数,同时将进度参数传到页面.

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

Progress p = (Progress) request.getSession().getAttribute("progress");

if (p!=null) {

String percent = p.getPercent();

request.setCharacterEncoding("utf-8");

response.setContentType("text/html;charset=utf-8");

response.getWriter().write(percent);

}

if(p.isOver()){

request.getSession().removeAttribute("progress");

}

}


http://www.taodudu.cc/news/show-1944799.html

相关文章:

  • 【Linux】线程的内核级理解详谈页表以及虚拟地址到物理地址之间的转化
  • VBScript与文件的编码
  • Windows cmd bat之特殊符号及变量
  • 杰发科技AC7840——软件Sent_HAL39X
  • 添加一个索引要投产,需要哪些步骤?
  • c#操作文件
  • c#进度条刻度_自定义滑动刻度进度条
  • js ajax进度条,js 异步处理进度条
  • Android自定义gif进度条,Android自定义view-圆形百分比进度条效果
  • 可线性渐变的环形进度条的实现探究
  • android 消息循环滚动条,Android 电池电量进度条,上下滚动图片的进度条(battery)...
  • gif透明背景动画_PS教程:把静态照片做成GIF放大动画效果
  • vc++中实现进度条
  • 关于form提交后展示遮罩及显示进度条gif问题
  • 小程序影藏溢出的gif_动图制作方法,1分钟教会你如何制作gif表情包!
  • 自动生成动态gif的一个网站(进度条)
  • 进度条制作-GIF动画
  • 275页PDF:《编写高质量代码:改善Python程序的91个建议》
  • 【读书心得】 高质量C++/C编程指南-林锐
  • 高质量图片缩略图生成(编程笔记)
  • 极限编程
  • 全球编程厉害的14位大佬
  • 概率编程实战
  • 《高质量C++/C编程指南(林锐)》学习笔记
  • 高质量电子书分享
  • 构建高质量的前端工程完全指南
  • C#网络编程(Socket编程)
  • 改善代码质量的编程规范
  • 高质量程序好文分享之王垠《编程的智慧》
  • 高质量的C/C++编程(2)----程序员必看系列
  • 高质量计算机学习网站
  • 林锐的《高质量编程》学习笔记——内存分配方式
  • c语言是高级编程语言吗,C语言是高级编程语言吗?
  • 推荐一些高质量的自学网站
  • 《高质量C/C++编程》读书笔记
  • 高质量编程之编译警告级别