Struts由入门到精通(第三章)- struts简单例子

系统 1661 0

3.8 简单例子的分析(含代码注释和配置文件说明)

安装 Struts
  安装 Struts 很容易,而且它不需要复杂的配置。首先,从 http://jakarta.apache.org/site/binindex.html 下载 Struts 安装文件。在编写本文期间, 1.0 版是稳定版本,而 1.1 版是 bata 版。(在这一系列的项目中我用到 1.1-b2 版)

Struts 程序是用 Java 写的,因此它要求使用 JDK1.2 或更高级的版本。它同时要求一个与解析 XML Java API JAXP )规范相兼容中的 XML 解析器。你需要将 XML 解析库( jaxp.jar/parser.jar/ 其他文件)加入到你的 CLASSPATH 环境变量中去。而且,如果你在使用数据库,你则需要从 http://java.sun.com/products/jdbc 中下载并安装 JDBC 2.0 Optional Package Binary 。(如果你用的是 JDK1.4 ,那么 XML 解析器和 JDBC 2.0 Optional Package Binary 会自动包含在里面。)

  还有, Struts 要求使用一个支持 Servlet API 2.2 或更高版本的 servlet 容器。要找到已被确认的可以使用 Struts servlet 容器列表,请查阅 INSTALL 文件。

  最后,要使 Struts 运转起来,你需要加入一个环境变量 JAVA_HOME ,使其指向 JDK 安装根目录,并将 .jar 文件复制到每个程序的 WEB-INF/lib 目录下。

注册程序
  这是一个简单的注册程序的例子,仅用到了 MVC 模式中的视图和控制器。它要求用户在查看公司机密账号之前输入用户名和密码。展示的第一个页面是 Longin 页面(见图 1 )。如果注册成功,用户可以看到 Main Menu 页面(见图 2 ),其中包含两个链接:一个是退出,另一个是查看公司机密账号。如果注册失败,则用户会被重新引导到注册页面。

Struts由入门到精通(第三章)- struts简单例子的分析(含代码注释和配置文件说明)


1. 注册


  如果用户输入正确的用户名和密码,程序会建立一个 session 对象,并会有一个叫做 loggedIn 的属性被添加到这个 session 对象中去。只有当程序能够在用户的 session 对象中查找到这个 loggedIn 属性时用户才可以浏览 Main Menu 页面和 Secret 页面。所有缺少该属性或无效的 session 对象都会迫使用户登陆。(正确的用户名是 “john” ,密码是 “123” 。这些值是程序中固定写死的以避免需要连接到数据库里或使用其他存储来完成用户验证。)

  当用户退出时,他或她的 session 对象将会失效,同时 Longin 页面会重新显示。当用户点击链接要查看公司机密时,会弹出 Secret 页面(见图 3 )。
  有三种 JSP 页面是以 MVC 模式中视图的形式出现的: login.jsp ( 见图 1), mainMenu.jsp ( 见图 2), and viewSecret.jsp ( 见图 3)

Struts由入门到精通(第三章)- struts简单例子的分析(含代码注释和配置文件说明)


2. 主要事件


  由于所有 Struts 应用程序同时也是 Model 2 应用程序,所以它们必须具备一些用来充当 MVC 模式中控制器的东西(在该例子中是一个控制器 servlet )。在使用 Struts 时,你无需编写自己的控制器 servlet 。程序已经帮你建好了,这也是用 Struts 来提高开发效率的方法之一。

  在 Struts 应用程序中控制器 servlet org.apache.struts.action.ActionServlet 类的一个实例。该类是包含在 struts.jar 文件中的诸多类的一个成员,所以你得在每个开发的程序中分发此文件。

Struts由入门到精通(第三章)- struts简单例子的分析(含代码注释和配置文件说明)

 


3. 你发现了一个秘密


  这个控制器 servlet 将根据请求中的 URL 把请求发送给适合的视图。依照惯例,这个 URI 是以 .do 结尾的。例如,指向 Secret 页面请求的 URI 是: http://domain/appName/viewSecret.do ,而指向 Longin 页面中的 URL http://domain/appName/login.do 。(当然,在 URI 后面也可以带有其他信息)

  如果你编写过 servlet 或者 JSP 应用程序,你可能猜想在部署描述符当中使用了 servlet 映射,以便将请求发送到 ActionServlet 实例中去。没错, Struts 是另一种版本的 servlet/JSP 程序。程序中的描述符显示在列表 1 中。这些代码说明了以下三点:

action servlet 配置部分, org.apache.struts.action.ActionServlet 类的实例被称为 action

所有以 .do 结尾的 URL 均被映射到 action servlet 中。

Login.jsp 是一个 welcome file ,它是在 URL 不包含资源名称时 ( 换言之,当 URL 属于 http://domain/myApp form ) 被调用的默认文件。

  此外,列表 1 中的部署描述符没有什么特殊的用法,它只是简单地说明 Struts 应用程序和一般的 servlet 应用程序很相似。

  应用程序中对资源的请求被发送到 ActionServlet 中去,然后由它将控制权转给其他对象,这些对象称为 action objects 。我会在这个系列的第二部分中讲解 action 对象和其他一些应用程序。

  现在你知道了如何安装和配置 Struts ,而且你也弄懂了注册程序项目规范和部署描述符,那么你可以点击此处下载全部程序。

 

 

 

 

 

Struts由入门到精通(第三章)- struts简单例子的分析(含代码注释和配置文件说明)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论