`
yeminping
  • 浏览: 176595 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Web服务端组件事件开发与MVC开发

    博客分类:
  • JAVA
阅读更多

    本周一起跟.net开发同事讨论了WEB开发方法,重点讨论基于服务器端组件开发(组件标签开发,如JSF)和MVC开发模式,有些对比进行了讨论,想起了两年前研究的JSF, 记录下来进行更细节的延伸。

      1.服务器端组件开发模式:如下代码方式

      界面代码:

   

 <w:head>
        <w:stylesheet src="/common/resources/examples.css"/>
    </w:head>
    <w:page>
        <div class="examDesc">
            <p>本例子模拟一个常用的场景,例如注册用户,当输入用户名,文本框失去焦点后,就发送ajax请求到后台去验证用户名,判断其合法性</p>
        </div>
        <w:form>
            <layout:panelGrid columns="3">
                <layout:cell colspan="1" rowspan="1">用户名:</layout:cell>
                <w:textField id="name"></w:textField>
                <h:outputText id="nameMsg" style="color:red;"></h:outputText>
                <layout:cell colspan="1" rowspan="1">密码:</layout:cell>
                <w:textField id="password" inputType="password" required="true" minLength="6">
                    <f:validateLength minimum="6"></f:validateLength>
                </w:textField>
                <h:message for="password"></h:message>
                <layout:cell colspan="3">
                    <w:button id="login" value="登录" />
                </layout:cell>
            </layout:panelGrid>
            <h:outputText id="response" style="color:blue;"></h:outputText>
        </w:form>
    </w:page>
 

 

      后台对应绑定事件

@Action
  public void login(){
    if("starwind".equals(name)){
      response = "注册成功";
    }else{
      response = "注册失败";
    }
  }

     基于服务器端组件事件开发的有着方便的开发速度和简练的代码结构,在有成熟的组件为最佳的Web开发模式。但在目前不宜使用,有个最致命的问题,生成的前台代码有个viewState,占用太大空间。

viewState='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';
 

    2.MVC开发方式

      前台用HTML+JS+CSS可以组成丰富的界面体验,后端控制器、业务逻辑用JAVA、C#。使用MVC可将界面开发人员与业务开发人员分开,从而前台开发人员可以写出简洁的代码不会有viewstate的出现。但在没有太多可用的前台资源(Jquery、EXT)的情况下,开发速度肯定要受影响的。

 

      在开发中还是习惯于以下的开发方式:

     WEB网站型:DIV+CSS+Jquery+Spring+Hibernate

     WEB应用型:DIV+CSS+EXT+Jquery+Spring+Hibernate

 


 

 

0
0
分享到:
评论

相关推荐

    MVC快速开发框架

    核心框架:ASP.NET MVC5、WEB API 持久层框架:EntityFramework 6.0 定时计划任务:Quartz.Net组件 安全支持:过滤器、Sql注入、请求伪造 服务端验证:实体模型验证、自己封装Validator 缓存框架:微软自带...

    Web页面文本框组件

    例如,在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已经在Web服务中包含了,就像现在的SOA。AJAX开发人员拥有一个完整的系统架构知识。同时,随着技术的成熟...

    AspMvc框架 v1.1

    AspMvc是一个快速、简单的面向对象的轻量级Asp开发框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。 借鉴了国内外很多优秀的(Java Ssh/Net NetMvc3.5 ThinkPhp)框架和模式,使用面向对象的开发结构和MVC...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    鉴于市场上用户的手机型号、种类、屏幕分辨率等参差不齐,传统方式根据主流系统分别开发相应的系统耗时又耗力,为了高效开发并节约开发项目成本,本文采用Android+HTML5相结合的方式进行移动端Web系统的设计研发工作...

    【Web通识】通过Web构成解读Web组件

    文章目录一、总述二、Web组件1、第三方内容2、Web前端框架3、Web应用4、Web开发框架附:MVC架构5、Web服务端语言6、Web服务器附:Web服务器与Web容器7、存储8、操作系统 一、总述 最早的Web只是用户通过客户端...

    WEB页面文本框组件controls

    例如,在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已经在Web服务中包含了,就像现在的SOA。AJAX开发人员拥有一个完整的系统架构知识。同时,随着技术的成熟...

    ASP.NET MVC+EF6+Bootstrap开发C#源代码

    核心框架:ASP.NET MVC5、WEB API 持久层框架:EntityFramework 定时计划任务:Quartz.Net组件 安全支持:过滤器、Sql注入、请求伪造 服务端验证:实体模型验证、自己封装Validator 缓存框架:微软自带Cache、...

    基于Spring MVC的web框架 1.1.11

    ftp服务端和客户端工具类,配置文件maven和web项目路径统一 1.1.0 soapui工具类(web版本) properties等工具类 1.1.1 工具类数据校验 jsp自定义标签 Spring自定义注解 默认requestMapping 1.1.2 代码生成器 1.1.3 ...

    快速开发框架NFine ASP.NET MVC+EF6+Bootstrap开发框架

    •核心框架:ASP.NET MVC5、WEB API •持久层框架:EntityFramework 6.0 •定时计划任务:Quartz.Net组件 •安全支持:过滤器、Sql注入、请求伪造 •服务端验证:实体模型验证、自己封装Validator •缓存...

    SpringMVC基础上的web框架

    ftp服务端和客户端工具类,配置文件maven和web项目路径统一 1.1.0 soapui工具类(web版本) properties等工具类 1.1.1 工具类数据校验 jsp自定义标签 Spring自定义注解 默认requestMapping 1.1.2 代码生成器 1.1.3 ...

    NFine快速开发框架源码 NFineRapidFramework.rar

    1、NFine 是基于 C# 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展,让Web开发更迅速、简单。能解决60%重复工作。为您节约更多时间,去陪恋人、家人和朋友...

    基于Android平台的无线点餐系统(客户端源码+服务端源码+数据库+文档).zip

    系统的开发用Java语言实现,结合最流行的Web技术,再结合软件开发模式MVC,运用一系列新的比较流行的成熟技术,从而提高系统稳定性,强化了系统可扩展性。系统开发方案包括后台数据库服务器、Servlet服务器、无线...

    JSP程序设计课件包含Hibernate,Struts的介绍

    JSP程序设计教程 第1章 JSP概述 第2章 JSP开发基础 第3章 JSP语法 第4章 JSP内置对象 第5章 JavaBean技术 第6章 Servlet技术 第7章 JSP实用组件 第8章 JSP数据库应用开发 ...16. Struts的MVC与标准MVC的不同点

    webix资源下载

    JavaScript UI 库Webix ,其中包含的组件超过45个,用这些组件可以构建跟HTML5 和 CSS3 兼容的程序,这些程序不仅能在个人电脑...此外这些组件还能用在一些MVC框架中,比如RoR、ASP.NET MVC、Spring、Struts 和 Grails.

    基于SpringMVC的一个web框架

    ftp服务端和客户端工具类,配置文件maven和web项目路径统一 1.1.0 soapui工具类(web版本) properties等工具类 1.1.1 工具类数据校验 jsp自定义标签 Spring自定义注解 默认requestMapping 1.1.2 代码生成器 1.1.3 ...

    NFine快速开发框架.rar

    核心框架:ASP.NET MVC5、WEB API 持久层框架:EntityFramework 6.0 定时计划任务:Quartz.Net组件 安全支持:过滤器、Sql注入、请求伪造 服务端验证:实体模型验证、自己封装Validator 缓存框架:微软自带...

    基于javatcpsocket通信的拆包和装包源码-alphabetweb:Vikingbays•AlphabetWeb:支持web应用开发,

    AlphabetWeb是一个服务端开发框架,可用于搭建一个web网站,也可以构建复杂的微服务场景,也可用于中后台服务定制。AlphabetWeb采用Golang语言实现,具有一次开发多平台部署,运行效率更优。AlphabetWeb架构设计之初...

    dwr入门+springmvc实现

    DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java...

    Visual Graph开发

    b)进入编程语言,在工具栏上安装COM组件Visual Graph ActiveX control(Visual Graph不能运行在WEB服务端,如果开发ASP.net,工具栏看不到这个) c)把控件拖动到画面中 d)在窗口的Load事件(或Show)事件中编写...

    一个可以直接运行的基于SpringMVC的web框架1.1.12

    ftp服务端和客户端工具类,配置文件maven和web项目路径统一 1.1.0 soapui工具类(web版本) properties等工具类 1.1.1 工具类数据校验 jsp自定义标签 Spring自定义注解 默认requestMapping 1.1.2 代码生成器 1.1.3 ...

Global site tag (gtag.js) - Google Analytics