`

java web开发过程中出现的一些诡异问题(2)

阅读更多

接着上一篇博客:http://hw1287789687.iteye.com/blog/2053907

(1)我们上周做一个web项目,修改bug后发增量包(补丁包),其实我喜欢发全量包,但是领导要求增量包(补丁包),没办法.

有次发增量包(补丁包),修改了一个常量类,发布后,仍然测出问题.纳闷:明明修改了常量类啊.反编译常量类,确实是修改过之后的,没问题.那么问题出在哪儿呢?

给大伙儿重现一下:

我这里有两个类

public class Constant {
	public static final String WHO="黄威";
	public static final int AGE=26;
}

public class Hello{

	public static void main(String[]args)
	{
		System.out.println("Hello,"+Constant.WHO);
	}
}

 在命令行中进行编译:

 运行:

 

然后我发一个增量包:只修改Constant类,修改Constant类的WHO变量:

public class Constant {
	public static final String WHO="黄威22222222222222";
	public static final int AGE=26;
}

 单独编译Constant:,然后运行Hello:

 奇怪!!!为什么结果没有变呢?

预期的结果应该是:

Hello,黄威22222222222222

原因是:对于含有常量的类,javac编译时直接把常量的值替换进去了.

所以我们还得重新编译Hello:

 测试代码见附件

 

(2)对于js动态增加的表格tr,IE浏览器不识别

我使用如下代码动态增加表格的行(tr):

var queryResultTable_obj=getTable();
			dataLength=tableContent.length;
			for(var i=0;i<dataLength;i++){
				var oneTr=tableContent[i];
				//alert(oneTr.realName);
				var newTr = document.createElement("tr");
			     var newTd0 = document.createElement("td");
			     var newTd1 = document.createElement("td");
			     var newTd2 = document.createElement("td");
			     var newTd3 = document.createElement("td");
			     var newTd4 = document.createElement("td");

			     newTd0.innerHTML =oneTr.realName;
			     newTd1.innerHTML =oneTr.email;
			     newTd2.innerHTML =oneTr.aaa;
			     newTd3.innerHTML =oneTr.bbb;
			     newTd4.innerHTML ="<a target='_blank' href=\""+"../mgmt/personDetail.action?realName="+oneTr.realName+"&email="+oneTr.email+"&query_time="+query_time+"\" >签到详情</a>"
			     
			     newTr.appendChild(newTd0);
			     newTr.appendChild(newTd1);
			     newTr.appendChild(newTd2);
			     newTr.appendChild(newTd3);
			     newTr.appendChild(newTd4);
			     
			     queryResultTable_obj.appendChild(newTr);
			     
			}

 在IE中使用queryResultTable_obj.rows.length 获取表格行的个数时竟然是0,但是在火狐和谷歌浏览器中都没有问题.

说明:queryResultTable_obj 是表格对象

 那么在IE中如何获取表格的行(tr)呢?

通过 var trs=queryResultTable_obj.getElementsByTagName("tr");//获取表格所有的行tr

如何动态删除表格的所有行(除了表头)呢?

//判断是否是IE浏览器
var userAgent = navigator.userAgent.toLowerCase();
	var browser=navigator.appName;
	var b_version=navigator.appVersion;
	//var version=b_version.split(";");
	//var trim_Version=version[1].replace(/[ ]/g,"");//firefox error

	var isIE9test=userAgent.indexOf("windows nt ")>0&&userAgent.indexOf("trident")>0&&browser=="Microsoft Internet Explorer";

	 //删除行
	 function deleteRow(){
		 	var queryResultTable_obj=getTable();
		   
		   if(isIE9test){//如果是IE浏览器
			   var trs=queryResultTable_obj.getElementsByTagName("tr");//获取表格所有的行tr
				  for(var i=1;i<trs.length;){
					  var trOne=trs[i];//表格的每一行
					  queryResultTable_obj.removeChild(trOne);//从表格中删除tr
				  }
		   }else{
			   var length= queryResultTable_obj.rows.length ; //表格最后一行索引
			  
			  while(length > 1){
				  length--;
				  if(length<1){
					  break;
				  }
				  queryResultTable_obj.deleteRow(length);
			   }
			 
		   }
	 }

 

  • 大小: 17.3 KB
  • 大小: 16.8 KB
  • 大小: 21 KB
  • 大小: 20.8 KB
2
5
分享到:
评论
6 楼 hw1287789687 2014-04-30  
freezingsky 写道
增量包,看了才知道,其实说到底就是一个补丁包,晕。另外,对于IE的一些代码操作,我以为现在都是用jquery来提高开发效率的。。。。

企业里面基本上是用jquery,但是并不是所有的地方都用jquery,比如你只要实现个小小的功能,可能就不需要引入整个jquery的js依赖
5 楼 freezingsky 2014-04-29  
增量包,看了才知道,其实说到底就是一个补丁包,晕。另外,对于IE的一些代码操作,我以为现在都是用jquery来提高开发效率的。。。。
4 楼 houyujiangjun 2014-04-29  
IE要使用Tbody...
3 楼 weijiewell 2014-04-29  
public static final 类型的,编译器在编译的时候是按常量处理的。
修改这种类型的值,所有引用过的该类的class文件都要替换。否则相当于没变。
真正需要经常修改的最好用配置文件,不建议使用这种public static final类型
2 楼 hw1287789687 2014-04-29  
全量包就是整个web项目,比如 xxx.war.
增量包只包含修改的类(class文件)和资源文件
1 楼 502220545 2014-04-29  
诺诺的问一句: 什么是增量包 什么是全量包啊 能举个例子吗

相关推荐

    Java Web开发常见问题.pdf

    在Java Web开发过程中,中文乱码问题是开发者经常遇到的一个挑战。这些问题主要源于Java默认的Unicode编码与HTML页面及表单默认的Latin-1编码之间的不兼容,以及在不同的环境中(如服务器、数据库、浏览器)使用了...

    java web接口开发demo

    【Java Web接口开发】是Web应用程序开发中的一个重要环节,它允许不同的系统或客户端通过网络进行数据交互。在Java世界中,实现Web接口通常涉及到Servlet、JSP、Spring MVC或者RESTful API等技术。本示例"java web...

    MLDN Java Web 开发实战经典源码李兴华源代码

    2. **MVC模式**:Model-View-Controller模式是Java Web开发中常见的设计模式,用于分离业务逻辑、数据模型和用户界面。本教程可能涉及Spring MVC等框架的应用。 3. **JDBC与数据库操作**:Java Database ...

    java web开发技术大全1 pdf

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+...

    java web开发实战1200例 第二卷 源码

    《Java Web开发实战1200例(第2卷)》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为核心,介绍了应用Java Web进行程序开发的各个方面的知识和技巧,主要内容包括流行组件应用、数据库应用、图表统计、Ajax...

    Tomcat与Java Web开发技术详解(第2版).pdf

    《Tomcat与Java Web开发技术详解(第2版)》是一本深入探讨Java Web应用程序部署和运行环境的权威指南。本书主要围绕Apache Tomcat服务器展开,涵盖了从基础概念到高级特性的全方位讲解,旨在帮助读者掌握Java Web...

    基于Java的Web开发技术浅析.pdf

    下面将从几个方面详细阐述基于Java的Web开发技术,包括Java语言的特点、Web开发技术概述、以及基于Java Web开发中常见的设计模式。 首先,Java语言的几个显著特点,如简单性、面向对象、跨平台、分布性、安全性,使...

    java web开发实战经典pdf+源代码

    Java Web开发是构建基于互联网应用程序的关键技术,尤其对于初学者来说,它提供了丰富的学习资源和广阔的就业前景。《Java Web开发实战经典》这本书是入门这一领域的绝佳选择。它通过实践案例帮助读者理解并掌握Java...

    Java Web开发入门很简单源代码

    第2篇为基础篇,主要介绍HTML、CSS、JavaScript、Servlet、JSP和JavaBean等Java Web开发所需的基础知识,并对这些基础知识进行练习和领悟;第3篇为提高篇,介绍当前流行的SSH开发框架,并带领读者对SSH框架进行整合...

    JAVA web开发技术教程源码-张娜主编

    JAVA web开发技术教程源码 张娜主编 供同学们参考使用。

    Learn Java for Web Development(java Web开发)

    从单一网页到支持电子商业的网站再到完整的Web应用程序,Java编程语言及其框架让开发人员在Web应用程序的开发过程中具有很大的灵活性和生产力。 《Learn Java for Web Development》是为初学者和中级水平的Web开发...

    《Java Web 开发与实战》PDF 下载

    《Java Web 开发与实战》PDF 下载

    Tomcat与Java.Web开发技术详解(PDF)

    本书详细介绍了在最新Tomcat 5版本上开发Java Web应用的各种技术。主要内容包括:Tomcat和Java Web开发的基础知识,Java Web开发的高级技术,Tomcat与当前其他通用软件的集成,以及Tomcat的各种高级功能。

    Java Web开发实例大全基础卷和提高卷

    《Java Web开发实例大全基础卷和提高卷》是一份针对Java Web开发的全面学习资源,包含基础和进阶两个部分,总计约1200个实例。这份资料旨在帮助初学者和有经验的开发者深入理解和掌握Java Web开发的核心技术。 在...

    21天学通Java Web开发.pdf

    《21天学通Java Web开发》是Java Web开发的基础教程,针对没有接触过或还不是特别熟悉Java Web开发的读者,详细介绍了Java Web开发的基础概念及技术要点。全书分为6篇共21章内容,第一篇为Java Web基础篇,介绍了...

    Java_Web轻量级开发全体验.pdf

    文档的【部分内容】提供了一些关于Java程序员职业发展和学习资源的讨论,虽然与“Java_Web轻量级开发全体验”这一主题并不完全一致,但是可以从中提炼出一些与Java Web开发相关的知识点。 根据这部分内容,我们可以...

    web开发 web java开发

    Spring框架的出现极大地推动了Java在Web开发中的应用,现在许多企业级应用都基于Spring构建。 在学习Web Java开发时,通常会从基础的Servlet和JSP开始,然后逐渐接触更高级的技术,如Spring Boot、Spring MVC、...

    Java.web整合开发王者归来整本书内容及光盘源码

    由于上传大小限制50M,因此分享的是我的百度网盘链接,下载后文本文件里有链接,包括Java Web整合开发王者归来整本书326.5M 的PDF文档以及54.7M的光盘源代码 本书简介: 资深Java程序员耗时一年时间写作,十年开发...

    基于java web开发的mes生产制造系统

    基于java web开发的mes生产制造系统,该系统基于ssm框架开发,系统功能包括:系统管理、车间基础数据建模、计划管理、物料控制、生产执行、质量管理、库存管理、看板管理、数据分析等主体功能模块。广泛应用于汽车、...

    Java Web应用开发项目教程(附电子教案,程序源代码,习题答案)

    《Java Web应用开发项目教程》是一本以实践为导向的教程,旨在帮助读者深入理解并掌握Java Web开发技术。教程通过完整的案例,采用模块化的教学方式,将复杂的Web应用开发过程分解为可操作的步骤,逐步引导学习者...

Global site tag (gtag.js) - Google Analytics