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里有这些工具吗?要简单多少?。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 是一种语言,用以产生「小应用程序(Applet(s)) 是一种语言,用以产生「小应用程序(Applet(s)) Java 编程语言的风格十分接近C、C++语言。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 是一种将安全性(Security)列为第一优先考虑的语言 是一种为 Internet发展的计算机语言 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
页:
[1]
2