My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > 程序开发 > 编程语言 > Java > Struts/Hibernate
Java Workshop--(4)WEB系统设计篇
作者:未知 时间:2005-07-24 21:22 出处:JR 责编:My FAQ
              摘要:Java Workshop--(4)WEB系统设计篇
在这个练习里,我们用一个Servlet、一个Javabean和两个Jsp来实现一个基本的WEB系统框架。不涉及一些具体模式的说明。可以说是一个系统的小小的架构,说起架构不知道大家对架构的定义是怎么想的,架构等于高层设计嘛?有一个网站说架构等于组件和连接器,并定义了一种架构语言(ADL)。不过设计模式不同于架构,但是象MVC这样的模式来说可以算是一个小系统的架构吧。
 这里系统的流程是这样的,当Servlet接受了一个Get请求的时候,创建一个Bean对象,把它存储在一个session里面,调用Get.jsp。当Servlet接受了一个Post请求的时候,它找到Bean对象的Session,然后显示一个Post.jsp。我们先来看一下Servelt的代码:
  1. import java.io.*;
  2. import java.util.*;
  3. import javax.servlet.*;
  4. import javax.servlet.http.*;
  5. public class StaffServlet extends javax/servlet/http/HttpServlet.java.html" target="_blank">HttpServlet {
  6.     public void doGet(javax/servlet/http/HttpServletRequest.java.html" target="_blank">HttpServletRequest req, javax/servlet/http/HttpServletResponse.java.html" target="_blank">HttpServletResponse res) 
  7.     throws java/io/IOException.java.html" target="_blank">IOExceptionjavax/servlet/ServletException.java.html" target="_blank">ServletException
  8.     {
  9.         StaffBean bean = new StaffBean();
  10.         bean.setID("10");
  11.         bean.setName("Sanders");
  12.         javax/servlet/http/HttpSession.java.html" target="_blank">HttpSession session = req.getSession(true);
  13.         session.setAttribute("staffBean", bean);
  14.         javax/servlet/ServletContext.java.html" target="_blank">ServletContext ctxt = getServletContext();
  15.         javax/servlet/RequestDispatcher.java.html" target="_blank">RequestDispatcher rd = ctxt.getRequestDispatcher("/jsp/Get.jsp");
  16.         if(rd != null){
  17.           rd.forward(req, res);
  18.         }
  19.     }
  20.     public void doPost(javax/servlet/http/HttpServletRequest.java.html" target="_blank">HttpServletRequest req, javax/servlet/http/HttpServletResponse.java.html" target="_blank">HttpServletResponse res) 
  21.     throws java/io/IOException.java.html" target="_blank">IOExceptionjavax/servlet/ServletException.java.html" target="_blank">ServletException
  22.     {
  23.         javax/servlet/http/HttpSession.java.html" target="_blank">HttpSession session = req.getSession(true);
  24.         StaffBean bean = (StaffBean)session.getAttribute("staffBean");
  25.         bean.setDept("SERVICE DIV.");
  26.         bean.setJob("ITS");
  27.         bean.setYears("7");
  28.         javax/servlet/ServletContext.java.html" target="_blank">ServletContext ctxt = getServletContext();
  29.         javax/servlet/RequestDispatcher.java.html" target="_blank">RequestDispatcher rd = ctxt.getRequestDispatcher("/jsp/Post.jsp");
  30.         if(rd != null){
  31.           rd.forward(req, res);
  32.         }
  33.     }
  34. }

这里用了forward这个方法来吧请求forward到另外的资源中,这里我们用了jsp文件
然后定义两个jsp文件
get.jsp
  1. <html>
  2.  <body>
  3.  <form>
  4. <jsp:useBean id="staffBean" class="StaffBean" scope="session" />
  5. <table border="1">
  6. <tbody>
  7.         <tr>
  8.             <td width="120">Employee ID</td>
  9.             <td width="100">Name</td>
  10.         </tr>
  11.         <tr>
  12.            <td><jsp:getProperty name="staffBean" property="ID" /></td>
  13.            <td><jsp:getProperty name="staffBean" property="name" /></td>
  14.       </tr>
  15. </tbody>
  16. </table>
  17. <form action="/servlet/StaffServlet" method="POST">
  18. <input type=submit value="Detail">
  19. </form>
  20. </body>
  21. </html>
  22. post.jsp
  23. <jsp:useBean id="staffBean" class="jpc.StaffBean" scope="session" />
  24. <table border="1"><tbody>
  25.     <tr>
  26.         <td width="120">Employee ID</td>
  27.         <td width="100">Name</td>
  28.         <td width="100">Department</td>
  29.         <td width="50">Job Title</td>
  30.         <td width="200">Years of Continuous Employment</td>
  31.     </tr>
  32.     <tr>
  33.        
  34.         <td><jsp:getProperty name="staffBean" property="ID" /></td>
  35.          <td><jsp:getProperty name="staffBean" property="name" /></td>
  36.         <td><jsp:getProperty name="staffBean" property="dept" /></td>
  37.         <td><jsp:getProperty name="staffBean" property="job" /></td>
  38.         <td><jsp:getProperty name="staffBean" property="years" /></td>
  39.     </tr>
  40. </tbody></table>

这里是java文件
  1. public class StaffBean {
  2.    private java/lang/String.java.html" target="_blank">String ID;
  3.     private java/lang/String.java.html" target="_blank">String name;
  4.     private java/lang/String.java.html" target="_blank">String dept;
  5.     private java/lang/String.java.html" target="_blank">String job;
  6.     private java/lang/String.java.html" target="_blank">String years;
  7.   
  8.     public StaffBean () {
  9.     }
  10.     public java/lang/String.java.html" target="_blank">String getID() {
  11.         return ID;
  12.     }
  13.     public void setID(java/lang/String.java.html" target="_blank">String str) {
  14.         ID = str;
  15.     }
  16.     public java/lang/String.java.html" target="_blank">String getName() {
  17.         return name;
  18.     }
  19.     public void setName(java/lang/String.java.html" target="_blank">String str) {
  20.         name = str;
  21.     }
  22.    public java/lang/String.java.html" target="_blank">String getDept() {
  23.         return dept;
  24.     }
  25.    public void setDept(java/lang/String.java.html" target="_blank">String str) {
  26.         dept = str;
  27.     }
  28.     public java/lang/String.java.html" target="_blank">String getJob() {
  29.         return job;
  30.     }
  31.    public void setJob(java/lang/String.java.html" target="_blank">String str) {
  32.         job = str;
  33.     }
  34.    public java/lang/String.java.html" target="_blank">String getYears() {
  35.         return years;
  36.     }
  37.     public void setYears(java/lang/String.java.html" target="_blank">String str) {
  38.         years = str;
  39.     }
  40. }


这个例子比较简单,不过本人觉得对于刚刚起步学java web开发的人有一定的参考价值,没有数据库,直接把四个文件放到tomcat相应的目录中就可以执行了。虽然在页面上永远看到的是一个Servlet,其他的文件都是用这个servlet来调用。Jsp的页面页比较整洁,没有过多的<%%>代码和html混合在一起。一个对象的所有属性的设置和取出均用Databean的各个方法来实现。

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有