|
|
在这个练习里,我们用一个Servlet、一个Javabean和两个Jsp来实现一个基本的WEB系统框架。不涉及一些具体模式的说明。可以说是一个系统的小小的架构,说起架构不知道大家对架构的定义是怎么想的,架构等于高层设计嘛?有一个网站说架构等于组件和连接器,并定义了一种架构语言(ADL)。不过设计模式不同于架构,但是象MVC这样的模式来说可以算是一个小系统的架构吧。 这里系统的流程是这样的,当Servlet接受了一个Get请求的时候,创建一个Bean对象,把它存储在一个session里面,调用Get.jsp。当Servlet接受了一个Post请求的时候,它找到Bean对象的Session,然后显示一个Post.jsp。我们先来看一下Servelt的代码:
这里用了forward这个方法来吧请求forward到另外的资源中,这里我们用了jsp文件。 然后定义两个jsp文件 get.jsp
- <html>
- <body>
- <form>
- <jsp:useBean id="staffBean" class="StaffBean" scope="session" />
- <table border="1">
- <tbody>
- <tr>
- <td width="120">Employee ID</td>
- <td width="100">Name</td>
- </tr>
- <tr>
- <td><jsp:getProperty name="staffBean" property="ID" /></td>
- <td><jsp:getProperty name="staffBean" property="name" /></td>
- </tr>
- </tbody>
- </table>
-
- <form action="/servlet/StaffServlet" method="POST">
- <input type=submit value="Detail">
- </form>
- </body>
- </html>
-
- post.jsp
-
- <jsp:useBean id="staffBean" class="jpc.StaffBean" scope="session" />
-
- <table border="1"><tbody>
- <tr>
- <td width="120">Employee ID</td>
- <td width="100">Name</td>
- <td width="100">Department</td>
- <td width="50">Job Title</td>
- <td width="200">Years of Continuous Employment</td>
- </tr>
- <tr>
-
- <td><jsp:getProperty name="staffBean" property="ID" /></td>
- <td><jsp:getProperty name="staffBean" property="name" /></td>
- <td><jsp:getProperty name="staffBean" property="dept" /></td>
- <td><jsp:getProperty name="staffBean" property="job" /></td>
- <td><jsp:getProperty name="staffBean" property="years" /></td>
- </tr>
- </tbody></table>
这里是java文件:
- public class StaffBean {
- private String ID;
- private String name;
- private String dept;
- private String job;
- private String years;
-
- public StaffBean () {
- }
- public String getID() {
- return ID;
- }
- public void setID(String str) {
- ID = str;
- }
- public String getName() {
- return name;
- }
- public void setName(String str) {
- name = str;
- }
- public String getDept() {
- return dept;
- }
- public void setDept(String str) {
- dept = str;
- }
- public String getJob() {
- return job;
- }
- public void setJob(String str) {
- job = str;
- }
- public String getYears() {
- return years;
- }
- public void setYears(String str) {
- years = str;
- }
- }
这个例子比较简单,不过本人觉得对于刚刚起步学java web开发的人有一定的参考价值,没有数据库,直接把四个文件放到tomcat相应的目录中就可以执行了。虽然在页面上永远看到的是一个Servlet,其他的文件都是用这个servlet来调用。Jsp的页面页比较整洁,没有过多的<%%>代码和html混合在一起。一个对象的所有属性的设置和取出均用Databean的各个方法来实现。
|
|