使用Java进行Web开发的随想

我朋友经常引用我的一句话就是:你的Java对我的Javascript是侵入的....,仿佛她比我还OO来着。

我自己就提出了一个解决的方法:就是把Java对象写成JS对象,这样Web设计人员只要关注JS对象,用JS对象来渲染整个Web页面,这样我就不会和他的领域冲突了。

简单来说,我们平常的WEB框架都是号称MVC的,这样它们就把V这个事情压在了JAVA程序员的身上,可怜我的审美观啊~所以我们应该把V继续往下推,推给对JAVA什么都不懂,但是却有非常丰富的WEB设计人员的身上。总不能让别人去学JAVA呀,那就只好把JAVA对象写成JS对象,这样WEB设计人员就可以轻松调用JS了。

大体实现过程是这样的:

1、双方先讨论项目的需求,然后确定下个个页面需要显示什么内容,怎么显示不管。讨论完后便确定了JS对象和数据库的大体结构。

2、各自写各自的东西...

3、双方写好后把WEB页面通过JS对象和Java连接起来,调试,完工。

具体关键代码:

J2J.java的代码,功能是获取scope范围内,名称为source的java对象,然后把这个java对象写成名称为distName类别为dist的JS对象。

代码:

/*
* J2J.java
*
* Created on 2006年10月2日, 下午7:16
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package net.vlinux.tag.j2j;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.lang.reflect.*;
import java.util.*;
/**
*
* @author vlinux
*/
public class NewObject extends TagSupport {
  private String dist;
  private String distName;
  private String scope;
  private String source;
  private List<Method> getGetMethods( Object aObject ) {
   Method[] array = aObject.getClass().getMethods();
   List<Method> list = new ArrayList<Method>();
   for( int i=0;i<array.length;i++ ){
    String methodName = array[i].getName();
    if( methodName.matches("get.*") )
     list.add(array[i]);
   }
   return list;
}
private String getFieldName( Method aMethod){
  String methodName = aMethod.getName();
  String subName = methodName.substring(3,methodName.length());
  return subName.toLowerCase();
}
private Object getSourceObject(String scope, String source){
  if( scope.equals("request") ){
   return pageContext.getRequest().getAttribute(source);
  }else if( scope.equals("session") ){
   return pageContext.getSession().getAttribute(source);
  }else if( scope.equals("page") ){
   return pageContext.getAttribute(source);
  }else{
   System.out.println("xxx");
   return null;
  }
}
public int doStartTag(){
  JspWriter out = pageContext.getOut();
  Object sourceObject = getSourceObject(getScope(),getSource());
  List list = getGetMethods( sourceObject );
  try{
   out.println( "<script>" );
   out.println( "  var " + getDistName() + " = new " + getDist() + "();");
   for( int i=0;i<list.size();i++ ){
    try{
     String fieldName = getFieldName((Method)list.get(i));
     String value = ((Method)list.get(i)).invoke( getSourceObject(getScope(),getSource())).toString();
     out.println( "  "+getDistName() + "." + fieldName + " = "" + value +""");
    }catch(Exception e){
     //
    }
   }
   out.println( "</script>" );
  }catch( java.io.IOException ioe){
   //
  }
  return (EVAL_BODY_INCLUDE);
}
public int doEndTag(){
  return (EVAL_PAGE);
}
public String getDist() {
  return dist;
}
public void setDist(String dist) {
  this.dist = dist;
}
public String getDistName() {
  return distName;
}
public void setDistName(String distName) {
  this.distName = distName;
}
public String getScope() {
  return scope;
}
public void setScope(String scope) {
  this.scope = scope;
}
public String getSource() {
  return source;
}
public void setSource(String source) {
  this.source = source;
} }

时间: 2022-12-19

使用Java进行Web开发的随想的相关文章

专家称Java在WEB开发领域处境危险

web 据国外媒体报道,在3月25日召开一个有Java语言未来的研讨会上,与会专家表示,Java语言在Web及低端开发领域面临诸如Ruby等动态语言的威胁,不过,Java可以通过改进和拓展虚拟机技术迎接挑战. 在这场名为"企业Java的未来"的研讨会上,来自Java技术业界的知名专家指出了Java语言目前在低端应用.网络WEB应用开发方面的"软肋",同时对EJB(企业JavaBeans)对象技术的持久竞争力表示出质疑. 一些专家表示,随着互联网迎来Web2.0时代,

为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?

为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?  今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑问无法得到正确的解释,为什么我们现在做java的web开发,会选择struts2或者springMVC这样的框架,而不是使用servlet加jsp这样的技术呢?特别是现在我们web的前端页面都是使用

java servlet结合Oracle搭建java的web开发环境_java

最近公司领导告诉接下去接的一个产品,可能会涉及到oracle数据库,以前用得最多的是mssql,前些时间学了下mysql也算少许用过.oracle没接触过.应为我之前做过.net开发,所以数据访问接口这块,涉及到的ashx wcf webserver这些,学了下servlet感觉 这些技术比较像 ashx编写的接口. 一. 首先在电脑上安装了 oracle数据库, 安装ORACLE数据库按常理说,直接下载安装就行了,但是中途是遇到了问题的,原因就是我的系统是Win7 64 oracle的clie

java web-Java Web开发新手请教个问题(eclipse第三方jar的正确导入方式)

问题描述 Java Web开发新手请教个问题(eclipse第三方jar的正确导入方式) 比如我导入第三方jar包, 我在JSP页面用了这个包,eclipse编译倒是通过.但浏览器弹出来就显示XXX cannot be resolved to a type. 我是这样导入的:右击项目,Build Path-->Libraries-->Add External JARS,还有我把该jar包也放在项目中的WEB-INF的Lib文件下了,还是没用. 凡是用到第三方包,eclipse编译都通过,浏览器

Java的web开发中SSH框架的协作处理应用笔记_java

 相信SSH没人不知道了吧,struts2+spring+hibernate,企业开发的"基础"架构,为什么基础标上引号,因为这个基础只是很多人自以为的而已,最基础的是servlet,很多培训机构很多基础都不教,直接上来就三大框架了,SSH不然就SSI,搞得很多人以为JAVAWEB开发就一定要框架,没框架就跟没了手一个样.三大框架没有什么坏处,实用,很多公司都在用,直接上手开发.但毕业以为真的好久没用三大框架了,spring倒是有用,特别是springMVC,感觉用起来比struts2

从web开发看.NET和Java

首先声明本文只从一个角度来说一下.NET和Java,而且只说一个点,可以肯定的是,本文的观点肯定是片面的,但是我觉得可以说明一些问题,或者作为一些参考. 我个人不排斥任何技术,也认为任何技术都可以实现同一个业务目的. 个人涉猎过.NET, Java, Python, Rails,有的时间长些,有的时间短些. 技术是为业务服务的,或者是为某种商业或者非商业的目的来服务的,为了实现目的,为了提升效率,为了节省时间,应该说使用任何编程语言.任何编程平台,在大部分的场合都可以实现同一个目标. 语言和平台

PHP和Java的主要区别有哪些?哪个最适合Web开发语言?_其它综合

一.前言 PHP和Java都是现在比较流行的二种编程语言. 对于许多新手来说,都会思考如果学的时候,该学哪种语言呢?下面这篇文章给大家整理两者的区别以及一些选择建议,一起来看看吧. 二.简介 PHP与Java作为两种截然不同的程序开发语言,无论是技术层面还是发展空间,亦或是市场份额占比,都有着不同的表现方式,理念上的不同导致了Java和PHP在Web应用开发上显示了不同的结果.若要一定追根到底,深究PHP与Java究竟哪个更好? 简而言之:PHP是一种解释执行的脚本语言,语法和C语言类似,易学易

为什么大家说到JAVA都会第一时间联想到WEB开发?

问题描述 为什么大家说到JAVA都会第一时间联想到WEB开发?难道JAVA就只是能做WEB开发?当然WEB作为目前比较流行的客户端展示层被广泛的使用,但是WEB并不是JAVA的所有,JAVA可以做更多有意义的事情.尤其在企业级开发中发挥着重要的基石作用.你想更多的了解JAVA的真正魔力吗?你想知道如何使用真正的强大的JAVA工具开发企业级应用吗?初定于2011年1月8日在上海举行一次免费的公开培训课程,内容如下:1.OSGi框架在企业级应用中的发展历程:2.使用SpringDM简化OSGi的开发

eclipse-融云web开发 问题导入工程

问题描述 融云web开发 问题导入工程 谁用过融云开发过web ,怎么吧项目导入Eclipse中,给点参考文档, 解决方案 web开发页面刷新问题解决Java中Web开发的中文乱码问题web开发小问题解决