技术开发 频道

磨刀不误砍柴功—难忘的Java WEB学习经历




    与Struts的亲密接触

    由于当时上网看招聘信息,J2EE相关职位的都要求懂Struts。所以才开始学习Struts。学了之后发现Struts的确是当时最优秀的框架,开发人员再也不用对每个方法都写一个Servlet类了。同时,请求成功或失败后的页面跳转不用写死在代码中,而是可以通过Struts-config.xml来进行配置,表单组件可以自动的绑定成actionForm对象和自定义数据校验逻辑。Struts还提供了一个通用的数据校验框架和丰富的显示标签(也是我主要花费时间的学习点)。Struts显示标签比当时的Jsp 表达式的确是进步很大,所以在Jsp页面里使用像HTML那样的标签已经代替了’<% %>’这些表达式语言了。当jstl出现后,jstl的类似c语言似的标记语言要比Struts显示标签优秀得多。Struts显示标签不能自动处理null值问题,Struts显示标签的复杂性也是花较多时间去学习Struts的一大缺点。

   综上,虽然我用Jsp+Servlet开发的时间要比用Struts进行开发的时间长得多,但是不得不承认Struts确实是一个非常优秀的框架。

    理解Web开发
    基于HTML::Web应用是基于HTML的,因为不管是Jsp还是asp,asp.net还是jsf都是在服务器端把相应的代码解释成HTML代码,然后在客户端通过浏览器解析显示出来。

    无状态编程:不管采用什么技术,Web开发终究是无状态编程。也就是在客户端并不能保持应用程序的任何状态。相对比下,在swing或VB等桌面开发时,客户程序可以通过变量来保持系统的状态,而基于HTML的Web应用是无法保持状态的。Web应用状态都需要由应用服务器来保持。

    请求响应及推/拉模式:在swing或VB等桌面应用程序中,当某一状态发生改变时,后台程序可以触发系统更新前端的UI组件,甚至可以使用观察者模式,当某一状态发生改变时,通知所有需要更新的前端UI组件,加载数据刷新组件。完成UI组件的更新,用户可能没有做任何动作,这就是推模式。而Web应用正好相反,用户从客户端发出一个请求,服务器接到客户端的请求后,读取请求参数,调用业务方法,获得业务数据,用业务数据重新生成新的HTML页面,呈现给客户端,由浏览器进行解析显示,这就是拉模式。请求响应的拉模式是Web应用最大的特点,任何请求的页面在发出请求后,请求页面所有组件的状态都被刷新而无法得以保持。

    MVC:MVC即Model模型数据,View 视图,Controller 控制器。MVC模式让每一个组件都有了一个明确的职责,模型数据不含有视图特有的代码,视图不含有控制代码或数据访问代码,主要是显示模型数据。控制器接收请求,获得数据,进行视图转发。
0
相关文章