`
betafox
  • 浏览: 147666 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解析java web开发中的困扰(1)

阅读更多

诸如jsp等脚本性质的语法、基于xml的属性配置与属性注入在j2ee开发中大量使用,而这些语法都是编译期不敏感的,

也就是说这类错误只有在运行时才能发现,这一局限对j2ee的开发造成了很大的困扰。相信大家都是深有体会!!

 

期望在编译期发现这些错误目前还不太现实,即使要做也要开发一个类似的java预编译器,抑或依赖IDE的智能检测机制(Intellij Idea在这方面做的较好,eclipse系列支持较弱),代价还是蛮昂贵的。

 

java web开发领域之所以如此现状,并不是java web领域的基础架构有问题,相反java开源架构层出不穷,大多数是极其优秀的,对于基础架构来说这些限制是必要的。本人认为问题在于java领域的2线架构师(应用架构师)水平低劣,没有在基础架构上做足够的润色,抑或根本没有分析出开发效率低下的原因所在。

 

所以大家应该反省一下目前的“拿来主义”存在的问题了!!拿来+润色+定制+契约===符合特定问题域的优秀架构,效率彰显的架构。

 

举个具体的例子:

 

spring的属性注入时严格依赖get/set;

 

Beanutils在web开发中使用非常频繁,属性访问,数据转换....

Beanutils在进行属性copy时遵循java bean规范,并严格区分大小写,这个规则在开发中消耗大量的调试时间,

具体大家可以仔细想一想就明白了,它的影响绝对超过你的第一反应。如果能对它进行一些扩展和定制,可想而知带

来的效率提升是很客观的。

 

        再一个例子就是Map的访问键,如果能做到大小写不敏感(之前的文章中有实现办法)....................

 

        在我们的EAP框架中对于此类问题作了很好的扩展,规避了java web基础架构之于具体开发的多种硬性限制,相信这种做法是必要的,期待大家讨论。

 

        后续还会有类似问题与大家交流。

 

 

分享到:
评论
6 楼 betafox 2009-05-24  
抛出异常的爱 写道
        再一个例子就是Map的访问键,如果能做到大小写不敏感(之前的文章中有实现办法)....................

写了个静态interface
需要用到的key都放在这个interface中
所以几乎不太可能写错单词.....
不过维护很麻烦
现在里面还有些key不知道能不能删.


上面描述的场景主要是通过Map/bean对具体业务数据的承载,key是可变的不可预知的,然后在页面进行数据展现。

所以我们的办法是对Map/beanUtils/spring进行了一定得扩展。

我们在框架中各个层面实现了业务数据的大小写不敏感访问,大小写不敏感是整个框架的一个基本契约。
5 楼 blogbin 2009-05-24  
大小写不敏感
---------可在已有的Map上封装自己的处理实现大小写不敏感的Map.

现在里面还有些key不知道能不能删.
---------目前没什么特别好的办法,一般可考虑对key进行良好的注释和管理维护。
4 楼 抛出异常的爱 2009-05-24  
        再一个例子就是Map的访问键,如果能做到大小写不敏感(之前的文章中有实现办法)....................

写了个静态interface
需要用到的key都放在这个interface中
所以几乎不太可能写错单词.....
不过维护很麻烦
现在里面还有些key不知道能不能删.
3 楼 betafox 2009-05-24  
laiseeme 写道
spring的属性注入时严格依赖get/set;

2.5有注解

-------------
一看就是高手哦,呵呵。

这里只是谈一种现象,一种思维,j2ee领域有种思维僵化的倾向,需要改革开放,呵呵。最近帮别人做架构评估,有感而发,看完是一声叹息。。。
2 楼 laiseeme 2009-05-24  
@Autowired
CustomerDao customerDao;
这样注入
1 楼 laiseeme 2009-05-24  
spring的属性注入时严格依赖get/set;

2.5有注解

相关推荐

    Java Web项目开发中的中文乱码问题与对策.pdf

    Java Web项目开发中,中文乱码问题是一个常见但棘手的困扰,主要涉及到字符编码和解码的过程。在计算机系统中,数据以二进制形式存储,中文字符需要经过编码转换为字节序列才能存储。编码是将字符转化为字节的过程,...

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

    《Tomcat与Java.Web开发技术详解》是一本深入解析Tomcat服务器和Java Web开发的经典著作,作者孙卫琴以其清晰的思路和优美的语言,为读者揭示了这一领域的核心技术与实践技巧。 首先,Tomcat是Apache软件基金会的...

    Java或web中解决所有路径问题

    本文将深入解析Java Web中所有路径问题的解决方法,涵盖Servlet、Action、Controller、Filter、Listener等关键组件的路径获取技巧,以及Spring框架下Web应用根目录的获取策略。 ### 一、理解Java Web中的路径类型 ...

    web 开发中遇到的乱码问题

    在web开发过程中,乱码问题是一个常见的困扰,尤其是在处理文本数据时。乱码现象通常发生在字符编码不一致或处理不当的场景下。本篇将详细探讨这个问题,以及如何通过理解和运用正确的字符编码来解决它。 首先,...

    JAVA开发中各种中文乱码问题

    在Java开发过程中,中文乱码问题是一个常见的困扰。这主要涉及到字符编码的处理,包括客户端浏览器、服务器端、以及在不同传输方式(如GET、POST)下的数据编码和解码。以下将详细讨论这些知识点: 1. **客户端与...

    web开发中url乱码处理

    6. **解决方案**:结合方法1和方法2,先确定URL在到达后台时已经是ISO-8859-1编码的,然后使用方法1中的转换策略,将接收到的ISO-8859-1编码的字符串转为UTF-8,以正确解析中文字符。 7. **代码实现**:在实际应用...

    Web开发中乱码问题的研究与解决.pdf

    在Web开发过程中,乱码问题一直是困扰开发者的一大难题,尤其是在处理中文等多字节字符时更为明显。本文将从计算机存储及传输字符的基本编码标准入手,详细介绍各种不同的字符编码标准,并深入分析在Web开发过程中...

    JAVA Web 用过滤器和包装器消除乱码

    在JAVA Web开发中,字符编码问题常常困扰着开发者,尤其是处理来自用户输入的数据时,如GET请求和POST请求。过滤器(Filter)和包装器(Wrapper)是解决此类问题的有效工具。本文将深入探讨如何使用JAVA Web的过滤器...

    基于Java Web+ssm+vue的在线测试管理系统.zip

    Spring框架是Java Web开发中的核心组件,它提供了依赖注入(DI)和面向切面编程(AOP)等特性,极大地提高了代码的可维护性和可扩展性。SpringMVC作为Spring的一部分,专门处理HTTP请求和响应,实现了模型-视图-控制...

    java web请求和响应中出现中文乱码问题的解析

    Java Web开发中,中文乱码问题是一个常见的困扰,主要出现在请求和响应的过程中。这主要是由于字符编码不一致导致的。本文将深入解析这个问题,并提供解决方案。 首先,我们要理解字符编码的基本概念。字符编码是将...

    Java关于中文乱码问题的多种解决方法

    在Java编程中,中文乱码问题是一个常见的困扰,尤其是在处理文件读写、网络传输或数据库操作时。本文将深入探讨几种解决Java中中文乱码问题的方法,并以MyEclipse为开发环境,结合实际示例进行讲解。 1. 文件读写中...

    Web开发 乱码过滤器.zip

    在Web开发中,乱码问题是一个常见的困扰,尤其是在处理用户输入和页面显示时。这个"Web开发 乱码过滤器.zip"文件包含了处理这类问题的一些关键组件。让我们逐一解析其中的文件及其背后的原理。 首先,我们看到一个...

    解决jsp+servlet开发中的中文乱码问题

    在基于JSP(Java Server Pages)和Servlet技术的Java Web应用开发过程中,中文乱码问题一直是困扰开发者的一大难题。由于Java Web应用程序涉及多个组件之间的交互,包括但不限于JSP页面、Servlet、浏览器以及数据库...

    Java开发常用的四大框架

    Spring框架是Java开发中最广泛使用的轻量级框架之一,它提供了一种面向切面编程(AOP)和依赖注入(IOC)的解决方案。Spring框架的核心是Bean容器,负责管理应用中的对象及其相互依赖关系。Spring还提供了数据访问...

    解决开发中乱码方案

    在Web开发过程中,中文乱码问题一直是困扰开发者的一大难题。特别是在处理用户输入、数据库读取等环节时,字符编码不一致很容易导致页面显示异常,使得用户体验大打折扣。本文将详细探讨几种有效的解决Web开发中中文...

    java开发所有jar包

    Java开发过程中,jar(Java Archive)包扮演着至关重要的角色,它是Java类库的容器,包含了一组由Java编译器编译后的.class文件和其他资源。这些.jar文件为开发者提供了可重用的代码模块,方便了项目的构建和部署。...

    java获取乱码问题

    在Java应用开发过程中,字符编码问题一直是困扰开发者的一大难题,尤其是在处理HTTP请求中的中文或特殊字符时,经常会出现乱码现象。本文将详细介绍如何通过修改`server.xml`配置文件来解决Java应用中出现的乱码问题...

    java项目jsp中乱码问题解决

    在Java项目开发中,尤其是使用JSP技术时,经常遇到的中文乱码问题是一个常见的困扰。这涉及到编码和解码的过程,以及不同平台和环境之间的兼容性问题。Java的默认编码是Unicode,而中文文件和数据库通常使用GB2312或...

    Java语言的中文处理问题完整解决方案

    本文将全面解析Java中的中文处理问题,包括常见问题、原因分析及解决方案,旨在帮助开发者构建出能够正确处理中文字符的程序。 一、字符编码基础 Java采用Unicode字符集,它包含了几乎所有的汉字,保证了对中文...

Global site tag (gtag.js) - Google Analytics