将现有的静态 Web 站点转变为动态 Web 站点

详细情况

导入必需的 J2EE 模块

此组件需要用 PVIT_STATIC 实现的 PVIT Web 站点的第一个部分。

  1. 来自 PVIT_STATIC 的结果的工件被保存为工程交换压缩文件。
  2. 压缩的 Project Interchange 文件(PVIT_STATIC_RAD.zip)在 下载 部分中可以找到。
  3. 将该压缩文件作为 Project Interchange 导入到您的工作区。应该导入工程 PVIT。

将静态工程转变为动态 Web 工程

  1. 一旦工程成为动态的工程,我们就可以开发与前端用户交互的 servlet 了。
  2. 在环境菜单中选择 PVIT 并选择 Static Web Project > Convert to a Dynamic Web Project
  3. 将 Web 版本设置为默认的 2.4。
  4. 单击 OK 完成向导。
  5. 当完成迁移之后,打开 Web 工程的属性,并将运行时设置为以下其中一个:IBM® WebSphere® Application Server,IBM® WebSphere® Application Server CE,Tomcat 服务器。
  6. 如果您要把此工程部署到 Tomcat 以外的服务器上,那么您需要创建 EAR 工程。
  7. 创建名为 PVITEAR 的新的 Enterprise Application Project,并将此 Web 工程添加为模块。

创建新的服务器

  1. Servers 视图中创建新的服务器。
  2. Server Type:WebSphere Application Server,WebSphere Application Server CE,Tomcat server。
  3. PVITEAR 添加到服务器的 Configured Projects 中。完成向导。
  4. 在服务器上运行工程,以确保正确地进行了转换。
  5. 利用 Source Editor 对页面修改所有出错的链接。

创建 Mail Servlet

  1. 在 Java Resources 中创建新的包:工程的 src 文件夹,称为 com.ibm.mymail
  2. 向 src/com.ibm.mymail 添加名为 MailServlet.javaJava Servlet(从下载部分中获得)。
    • 当用 WebSphere Application Server 时,您不会看到任何错误。
    • 当用 Tomcat 时,您需要向 Tomcat_install_dir/common/lib 目录添加两个 jar,来添加邮件支持:
    • mail.jar 可以在下载部分中得到。它来自于 javamail-1.4。要自己下载,您可以去 http://java.sun.com/products/javamail/downloads/index.html
  3. activation.jar 可以在下载部分中获得。它来自于 jaf-1.1。要自己下载 Java Activation Framework,您可以去 http://java.sun.com/products/javabeans/glasgow/jaf.html。
  4. 打开 Web Deployment Descriptor,单击 Servlets 选项卡,及 Add... 遵照这些准则:
    • 选择使用现有的 Servlet 类,选择 Browse...,在 com.ibm.mymail 包中找到名为 MailServlet 的 servlet。
    • 选择 Next
      • 验证名字为:MailServlet
      • URL Mapping 是:/MailServlet
    • 完成。保存。查看所有断开的链接的来源,并随需修复

图 1. Servlet Creation

  1. 用名为 comment.html 的 HTML/XHTML 基本模板创建新的 Web 页面,并在 teambuilding.html 页面上添加一个到该页的链接。
  2. 在 comment 页面上,用图 2 中的 header 创建一个表单。

图 2. Comment Page Header

  1. 在表单中创建以下本文框。

图 3. Form. Text 框

  1. 在 FORM. 标签中添加 Submit Button。该按钮将如图 4 中源代码所示。

图 4. Submit Button

建立 SMTP 服务器,用于电子邮件的发送。

  1. 打开 MailServlet.java,并改变以下值。

图 5. Mail Servlet 更新

  1. 在服务器上运行工程,并测试电子邮件 comment.html 页面。

添加 J2EE 安全性

利用 J2EE 安全性模型向多个 Web 资源添加访问限制。我们希望不被保护的页面放在一个目录下,而被保护的页面放在另一个目录下 —— 举例来说,我们希望保护 Employee Information 页面。

取代在 web.xml 和 EAR 部署描述符中提供安全性,我们利用 Rational Application Developer 7.0 的 Security Editor。

  1. 打开 PVIT 的 Security Editor。如果这是您第一次打开此编辑器,那么您将看到一个问题,“您想要创建一个安全性角色吗?”选择 OK

图 6. Security Editor

  1. Add Roles 对话框将打开。通过在 Role name 框中输入名称 Admin 来创建名为 Admin 的安全性角色。
  2. 选择 Add...,Admin 角色应该下移到较低的部分。
  3. 选择 Finish。现在您拥有了一个安全性角色,您需要给其分配一些资源。
  4. Resources 部分中,选择 Employees 文件夹并将其拖到 Admin 角色的上面。现在您应该看到文件夹和其中的文件被分配给该角色。

图 7. Security Roles

  1. 这基本上是建立安全性所需的所有内容。但是,我们要对 Security 约束做一些调整。

图 8. HTTP 方法

  • 选择 AdminCollection 并选择 HTTP 方法 —— 图 8。
  • 只选择 GetPost 方法。
  • 通过选择安全性编辑器中的 Authentication 按钮来设置 Authentication Method 类型。
  • 设置授权方法为 Basic
  • 您可以将域名设置为你希望的,或设置为空。选择 OK

    要在 EAR 部署描述符中创建安全性角色,使用 Role Mapping 按钮。如果您将完全的 WebSphere Application Server(任意版本)作为服务器目标,那么该按钮将有效。如果您指定 Tomcat,那么跳过此步骤。

  • 选择 Role Mapping 按钮。
  • 验证罗列出了您之前创建的角色。
  • 选择 Admin User 并选择 Map User。在该对话框中,选择 Map User to All Authenticated Users。这将允许系统中所有授权的用户都可以访问 Employees 文件夹中的页面。
  • 选择 OK。保存安全性编辑器文件。

    要调查:就将用户映射为所有授权的用户,或映射为每个人。

    (可选)验证 EAR 部署描述符中已经创建了该角色:

  • 现在打开 PVITWebEAR 文件夹中的 EAR 部署描述符。单击 Security 选项卡。
  • 您应该看到名为 Admin 的角色。
  • 如果您单击它,您应该看到 Websphere 绑定部分和用户 Admin 中选择了 Users/Group 复选框。

    在服务器上打开安全性:

    对于 WebSphere Application Server 用户:

  • 这在服务器配置编辑器中完成。打开已经创建的服务器的 服务器配置编辑器。展开安全性部分。
  • 检查该服务器选项启用了 Security,并输入在您的机器上已存在的用户名或密码。
  • 替代使用 SOAP 选项,避免错误。
  • 保存并关闭所有打开的编辑器,并启动服务器。
  • 在服务器上打开安全性。
    1. 使用 WebSphere Application Server 文档来寻找如何完成,这里是指导方针:
    2. 对于 WebSphere Application Server v6.0:
      • Global Security 选项卡上,启动全球安全性,而不是 Java 2 安全性。使用 Local OS 作为用户注册。
      • 用您在服务器配置中输入的用户的名字或密码来设置 Local OS 用户注册
      • 保存配置并重启服务器。
    3. 对于 WebSphere Application Server v6.1:
      • 使用 Security Configuration Wizard 来启用管理安全性(没有 Java 2 安全性)。使用 Local OS 作为用户注册,并在您的系统中指定用户。
  1. 尝试运行。当您访问 web 部署描述符中指定的文件夹时,您应该会遇到授权的难题。

    注意:(linux)您必须以 root 角色运行。在 Info Center:
    UNIX 平台上的 WebSphere Application Server 默认使用 root 用户 ID 来运行 Application Servers。如果启用了全球的安全性,那么用户注册必须不是 Local OS。使用 Local OS 用户注册需要以 root 来运行 Application Server。

    对于 Tomcat 用户的安全性:参见文章:http://www.ciol.com/content/developer/web_services/2006/106062201.asp

  2. 验证在 Tomcat_install_dir\conf 目录下存在名为 tomcat-users.xml 的文件。您应该看到来自您系统的用户名或密码,它应该与之前指定的角色相匹配。
  3. 重启 Tomcat 服务器,以确保开启了安全性。
  4. 就这样!当您在服务器上运行时,您应该会看到用户名或密码的提示。使用来自您系统的用户名或密码。

    注意:您在授权上遇到困难吗?您遇到这些问题吗?

  5. 在服务器启动时,您可以看到许多与“在验证安全性配置值时出现异常”相关的错误。
  6. 您的控制台停止工作了。
  7. 您用正确的用户名和密码登录了,但不允许您访问该页面。

    要解决这些

  8. 使用 SOAP 作为 Server Connection Type 和 admin 端口。
  9. 参见此技术文献:http://www.ibm.com/support/docview.wss?uid=swg21198280。它将让您安装安全性所必须的 filetransferSecured.ear。

    注意:您需要使用 WAS CE 控制台来启用安全性。

转变为使用页面模板

此处的想法是让站点看起来像使用了框架,除了现在利用页面模板的情况。利用框架方法时利用的以下想法应该在页面模板中继续维持:

  1. 有一个在所有页面都显示的图。
  2. 有一个在所有页面都显示的标题。
  3. 左手边有一列页面导航列表。

    在您的转换过程中保持这些原则和以下的指导方针:

    利用 HTML 模板创建 Web 页面模板。将其创建为设计时模板。它也应该包含:

  4. 自由布局的表格
  5. 内容区域在页面的右手边。
  6. 左手边中的列表与 menu.html 文件有相同的内容。决定您是否想要使用导航栏(参见下面),或者仅仅编辑框架方法使用的项目列表。

    使用 Web Site Navigation 来决定哪些页面需要应用模板。

  7. 打开 .website-config 文件
  8. 打开 Newly Created Pages 窗格并将必要的页面拖拽到 Web 站点导航栏上。
  9. 如果您已经选择了,那么现在您就可以向模板文件添加导航栏了。
  10. 插入 palette, context menu, insert 菜单中的 Web Site Navigation 分类中的导航栏
  11. 编辑所提供的导航栏(这些是 html 文件),从而获得您需要的导航栏结果。
  12. 利用文档和您对如何使用核心的 JSTL 标签的了解(由于 siteedit 标签复制了许多这些标签)。
  13. 如果需要,参考此文档(navspec.html:在下载部分中获取):

    将模板应用于所有页面。

运行代码审查来验证没有违反任何安全性原则

本部分的目的是确保作为此场景一部分的,由工具生成的代码没有违反关于 J2EE、J2SE、性能,等等,特别是新的安全性原则的任何最佳实践或原则。

  1. Analysis 功能自动出现在 Java 和 Debug 透视图中,但可以添加到任意透视图中。要这样,选择 Windows >Customize Persepctive,选择 Commands 选项卡,并单击 Analysis ...... 如果需要就添加此功能。
  2. 在菜单中,选择 Run > Analysis
  3. 选择 New 并创建新的 Configuration。在 Scope 选项卡上,选择 Analyze selected projects 并选择此场景中创建的每个工程。
  4. 选择 Rules 选项卡,并选择 Code Review for Java 复选框(通过选择上层的 Code Review for Java 来选择整个分支)。

图 9. Analysis Configuration

  1. 单击 Apply
  2. 单击 Analyze
  3. Analysis Results 完成之后将显示结果。选择 Filter 图标来选择带有结果的规则。

图 10. Analysis

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14780914/viewspace-588976/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14780914/viewspace-588976/

你可能感兴趣的:(将现有的静态 Web 站点转变为动态 Web 站点)