老尸 发表于 2015-1-18 11:34:29

JAVA网站制作之在JSP开辟中摹拟.NET WebForm

先谈谈我对java的一些认识。我选择java,是因为他语法简单,功能强大,从web,到桌面,到嵌入式,无所不能。但当我进一步了解了java后,感叹,java原来也有许多缺点。js|webWebForm是事务驱动的,控件形态能够在http哀求之间主动坚持,而且利用后置代码很好地完成了页面表面与页面逻辑把持的分别,一改以往html,服务器段代码、javaScript混同在一同的web开辟体例。stucts供应了大批的定制标签,由tag、form、bean、action及设置文件构建了一个优异的MVC形式的web开辟体例。但比拟较其WebForm来,窃觉得stucts更加庞大,必要协同事情的元素较多,办理成绩的效果不如WebForm明显(仅是团体意见)。

  在实际开辟中,经常必要在某个页面中处置良多Form控件,且要处置这个页面大概激发的多个事务,在事务触发后,又哀求统一个页面,又必要在哀求之间坚持形态,在页面中处置一切这些,实在不堪其烦。遭到WebForm启示,我在用JSP举行开辟时,自创了了其一些头脑。实质上我们就是想让页面显现代码与页面把持代码分别,要作到这一点其实不坚苦,有良多举措。

  能够为页面界说一个“页面处置器(PageHandler)”,它相似WebForm的后置代码,它的接口基础是上面这个模样:

publicclassPageHandler
{
 protectedHttpServletRequestrequest;
 protectedHttpServletResponseresponse;
 protectedJspWriterout;
 protectedPageContextpageContext;
 protectedHttpSessionsession=null;
 protectedServletContextapplication=null;
 protectedServletConfigconfig=null;

 protectedStringevent_action=null;//页面事务
 protectedStringevent_params=null;//页面参数

 //获得操纵页面的基础组件
 publicPageHandler(PageContextpage)
 {
  this.pageContext=page;
  this.request=(HttpServletRequest)pageContext.getRequest();
  this.response=(HttpServletResponse)pageContext.getResponse();
  this.pageContext=page;
  out=pageContext.getOut();
  application=pageContext.getServletContext();
  config=pageContext.getServletConfig();
  session=pageContext.getSession();
  try{
   request.setCharacterEncoding("gb2312");//设定页面编码
  }
  catch(Exceptione)
  {
   e.printStackTrace();
  }
 }

 //初始化页面的参数,详细的页面处置器类能够重写这
 //个办法举行页面初始化
 protectedvoidonLoad()throwsException
 {
 }

 //依据页面指定的事务举行处置
 privatefinalvoideventBind()throwsException
 {
  //event_action从从页面的名为event_action的hidden字段获得,它意为事务的称,
  //当此事务触发时,他会寻觅在"页面处置器类中"与event_action同名的办法加
  //以挪用。
  if(event_action!=null&&!event_action.equals(Format.Empty))
  {
   event_params=request.getParameter("parameters");//事务参数参数,从页面
   //的名为parameters的hidden字段获得
   if(paramTypes==null)
   {
    paramTypes=Class.forName("java.lang.String");
   }
   ObjectparamValues[]=newObject;
   paramValues=event_params;
   Methodmethod=null;
   try
   {
    method=this.getClass().getDeclaredMethod(event_action,paramTypes);
    method.setAccessible(true);
   }
   catch(Exceptione)
   {
    thrownewUserException("体系短少对您的哀求的处置机制:+event_action);
   }
   if(method!=null)
   {
    method.invoke(this,paramValues);//挪用web工夫
   }
  }
 }

 //处置页面
 publicvoidprocess()throwsException
 {
  try
  {
   event_action=request.getParameter("action");//得页面事务
   onLoad();//页面加载时的初始化
   eventBind();//处置事务
  }
  catch(Exceptione)
  {
   e.printStackTrace();///////////////
   Format.alert(out,"产生了未知毛病:"+Format.getString(e.getMessage()));
  }
 }
}


下一页

诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net里有这些工具吗?要简单多少?。

不帅 发表于 2015-1-21 10:25:10

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

小魔女 发表于 2015-1-26 13:36:28

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。

小女巫 发表于 2015-1-31 15:01:48

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

第二个灵魂 发表于 2015-2-6 19:46:00

是一种语言,用以产生「小应用程序(Applet(s))

再现理想 发表于 2015-2-12 06:10:54

是一种语言,用以产生「小应用程序(Applet(s))

柔情似水 发表于 2015-2-14 03:11:41

Java 编程语言的风格十分接近C、C++语言。

冷月葬花魂 发表于 2015-3-3 20:33:54

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

若天明 发表于 2015-3-11 13:12:44

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

蒙在股里 发表于 2015-3-18 12:15:48

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

金色的骷髅 发表于 2015-3-24 02:02:58

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

爱飞 发表于 2015-3-27 00:50:16

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

乐观 发表于 2015-4-1 16:11:04

是一种将安全性(Security)列为第一优先考虑的语言

若相依 发表于 2015-4-3 04:22:28

是一种为 Internet发展的计算机语言

深爱那片海 发表于 2015-4-4 16:14:03

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

活着的死人 发表于 2015-4-20 19:08:03

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

兰色精灵 发表于 2015-4-21 10:38:13

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

愤怒的大鸟 发表于 2015-4-24 15:07:01

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

仓酷云 发表于 2015-4-27 20:12:41

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。

再见西城 发表于 2015-5-1 00:10:23

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
页: [1] 2
查看完整版本: JAVA网站制作之在JSP开辟中摹拟.NET WebForm