仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1486|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA网页编程之用WebWork、JSP、Velocity创建注册页面...

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-18 11:31:06 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
用winrar打包j2ee的程序和用IDE打包应用程序是一样的。按照你的想法,你是不是也希望服务器都整合由一家公司提供呢?js|web|页面WebWork是一个源代码开放的Web使用框架,用于简化基于Web的使用开辟。本专栏先容了WebWork而且形貌了怎样利用WebWork和JavaServerPages(JSP)、Velocity两种手艺来创建注册界面的历程。

Web使用程序的计划开辟是庞大而且费时的。但是,你可以经由过程使用一种框架处置罕见的Web使用程序来简化开辟流程。很多开源Web使用框架可以做到这一点乃至更好一些。这些开辟框架中最好的一个就是WebWork,是开源项目中OpenSymphony组的一个Web使用开辟框架。

  WebWork的最年夜长处是它的复杂性和天真性。WebWork有一个很小的API,它使开辟者能够敏捷举行开辟事情。WebWork是很多特征和合用性的组合,包含利用variourview手艺,比方JavaServerPages(JSP),Velocity,ExtensibleStylesheetLanguageTransformations
Specification(XSLT)和JasperReporters。WebWork具有一个活泼的社区,有很多文章、开辟者和用户。

  注重:本文基于WebWork1.3.0releasecandidate2(RC2)。为了利用本文供应的例子,你必要在你的使用服务器的webapps目次下创建文件夹,将例子拷贝至新的文件夹下,同时将所需的jar文件从WebWorkdistribution拷贝至WEB-INF/lib目次。在此处下载WebWork和本文相干的源代码。

------
  Actions

  WebWork的一个最主要的特征就是Action接口。WebWorkactions经由过程在页面(视图)和贸易逻辑间供应mapping来把持Web使用程序流程。在WebWork中,提交窗体到一个actionURI(UniformResourceIdentifier);这个URI指向一个响应的action;action实行;用户能够行进到响应的视图。

  下述class,LoginAction,是WebWork处置基于Web使用的注册窗体的例子。LoginAction扩大了ActionSupport。它是一个基类,供应了处置毛病、视图映照、和很多有效的功效。

importwebwork.action.*;

publicclassLoginActionextendsActionSupport
{
privateStringuserName;
privateStringpassword;

publicStringgetPassword()
{
returnpassword;
}

publicStringgetUserName()
{
returnuserName;
}

publicvoidsetPassword(Stringpassword)
{
this.password=password;
}

publicvoidsetUserName(StringuserName)
{
this.userName=userName;
}

publicStringdoExecute()
{
returnSUCCESS;
}

publicvoiddoValidation()
{
if(userName==null||userName.length()<1)addError("UserName","Pleaseenterusername.");
if(password==null||password.length()<1)addError("Password","Pleaseenterpassword.");
}
}



  LoginAction包含了两个JavaBean属性,password和username。WebWork把数据附属性中安排到你的视图中而且主动剖析送到action的参数来设置属性值。

  LoginAction重载了ActionSupport的两个办法:doValidation()和doExecute()。doValidation()办法考证参数,doExecute()办法让用户行进到响应的视图。doExecute()办法前往一个字符串,假如一切的处置是乐成的,前往常量success。假如有任何成绩产生,在用户输出视图上前往常量input。在LoginAction的doValidation()办法中挪用addError指出了一个认证成绩而且让用户前往INPUT视图。

---------

  Viewmapping

  WebWork有两种办法从map到视图:经由过程一个Action.xml文件大概一个views.properties文件。每种举措应当具有一个INPUT视图和一个SUCCESS视图。下述Action.xml文件界说了两个actions,loginJSP和loginVelocity。这两个action都利用了LoginAction类。假如LoginAction前往SUCCESS,这两个action利用LoginAction类而且利用户转向success.html。假如LoginAction前往INPUT,action转向响应的INPUT视图,大概login.jsp、大概login.vm;








<actions>

<actionname="LoginAction"alias="loginJSP">
<viewname="input">login.jsp</view>
<viewname="success">success.html</view>
</action>

<actionname="LoginAction"alias="loginVelocity">
<viewname="input">login.vm</view>
<viewname="success">success.html</view>
</action>

</actions>

--------
  视图
  
  只管WebWork关于很多分歧的视图手艺供应了撑持,可是最为罕见的是JSP和Velociy。以下页面是两个注册页面的例子--一个利用了JSP另外一个利用了Velocity。每一个页面都包含了一个用户部分和一个暗码部分,这两部分提交给WebWorkaction。

  Login.jsp页面经由过程利用WebWork标志库来创建和处置以上两个部分,而且经由过程毛病搜集器来处置毛病。webwork:textfield和webwork:password标志创建了text和password部分,webwork:iterator标志处置从LoginAction前往的毛病。webwork:property标志设置username,password和errors属性。






<%@tagliburi="webwork"prefix="webwork"%>

<html>

<head>
<title>WebWorkJSPExample</title>
</head>

<body>

<formaction="loginJSP.action"method="post">

<webwork:property>
<webwork:textfieldlabel="Name"name="userName"/>
<webwork:passwordlabel="Password"name="password"/>
</webwork:property>

<inputtype="submit"value="Submit"/>
</form>

<webwork:iteratorvalue="errors"gt;
<br><webwork:property/>
</webwork:iterator>

</body>
</html>



login.vm页面利用了Velocity模板言语来创建域而且处置毛病。在Velocity中,$标记标明了一个参考。!标记告知Velocity假如参考为空,那末甚么都不显现。#标记暗示了一个指令。鄙人述例子中,$!userName和$!password标明参考援用了LoginAction中的username和password;#foreach在毛病处置属性中唆使了轮回。





<html>

<head>
<title>WebWorkVelocityExample</title>
</head>

<body>

<formaction="loginVelocity.action"method="post">
<inputtype="text"name="userName"value="$!userName"/>
<inputtype="text"name="password"value="$!password"/>
<inputtype="submit"value="Submit"/>
</form>

#foreach($errorin$errors)
<br>$error
#end

</body>

</html>





---------------
  入手下手事情!

  WebWork是一个易用的、天真的、功效壮大的开源Web使用框架,本文先容了它的基础功效。会见OpenSympony的网站往进修而且下载最新版本的WebWork。你下载完WebWork后,到Jakarta的网站的上部往寻觅Velocity,一种复杂、疾速的开源引擎,它是你在网页中利用JSP的另外一个选择。
----

但是一些大型开发或者是保密型比较高的项目都会用java,原因有2点,一:java是开源的,不怕别人留后门,偷我工具,.net就不一样了,保持微软的一向风格,源代码不公开
分手快乐 该用户已被删除
19#
发表于 2015-4-19 06:08:08 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
18#
发表于 2015-4-16 09:17:19 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
因胸联盟 该用户已被删除
17#
发表于 2015-4-16 08:12:54 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
小妖女 该用户已被删除
16#
发表于 2015-4-9 17:21:46 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
简单生活 该用户已被删除
15#
 楼主| 发表于 2015-3-27 23:18:11 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
山那边是海 该用户已被删除
14#
发表于 2015-3-26 08:29:18 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
小魔女 该用户已被删除
13#
发表于 2015-3-25 11:24:02 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
爱飞 该用户已被删除
12#
发表于 2015-3-18 03:48:16 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
老尸 该用户已被删除
11#
发表于 2015-3-17 22:00:18 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
冷月葬花魂 该用户已被删除
10#
发表于 2015-3-11 14:56:14 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
谁可相欹 该用户已被删除
9#
发表于 2015-3-4 02:07:11 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
愤怒的大鸟 该用户已被删除
8#
发表于 2015-3-2 08:28:56 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
金色的骷髅 该用户已被删除
7#
发表于 2015-2-11 09:21:10 | 只看该作者
是一种为 Internet发展的计算机语言
蒙在股里 该用户已被删除
6#
发表于 2015-2-10 04:27:09 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-9 14:48:29 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
若相依 该用户已被删除
地板
发表于 2015-2-6 18:20:43 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-31 07:19:03 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
活着的死人 该用户已被删除
沙发
发表于 2015-1-30 13:18:29 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
admin 该用户已被删除
楼主
发表于 2015-1-21 09:18:32 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 03:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表