JavaWorkshop--(4)WEB系统设计篇

779 篇文章 0 订阅
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

  在这个练习里,我们用一个Servlet、一个Javabean和两个Jsp来实现一个基本的WEB系统框架。不涉及一些具体模式的说明。可以说是一个系统的小小的架构,说起架构不知道大家对架构的定义是怎么想的,架构等于高层设计嘛?有一个网站说架构等于组件和连接器,并定义了一种架构语言(ADL)。不过设计模式不同于架构,但是象MVC这样的模式来说可以算是一个小系统的架构吧。

  这里系统的流程是这样的,当Servlet接受了一个Get请求的时候,创建一个Bean对象,把它存储在一个session里面,调用Get.jsp。当Servlet接受了一个Post请求的时候,它找到Bean对象的Session,然后显示一个Post.jsp。我们先来看一下Servelt的代码:

  importjava.io.*;

  importjava.util.*;

  importjavax.servlet.*;

  importjavax.servlet.http.*;

  publicclassStaffServletextendsHttpServlet{

  publicvoiddoGet(HttpServletRequestreq,HttpServletResponseres)

  throwsIOException,ServletException

  {

  StaffBeanbean=newStaffBean();

  bean.setID("10");

  bean.setName("Sanders");

  HttpSessionsession=req.getSession(true);

  session.setAttribute("staffBean",bean);

  ServletContextctxt=getServletContext();

  RequestDispatcherrd=ctxt.getRequestDispatcher("/jsp/Get.jsp");

  if(rd!=null){

  rd.forward(req,res);

  }

  }

  publicvoiddoPost(HttpServletRequestreq,HttpServletResponseres)

  throwsIOException,ServletException

  {

  HttpSessionsession=req.getSession(true);

  StaffBeanbean=(StaffBean)session.getAttribute("staffBean");

  bean.setDept("SERVICEDIV.");

  bean.setJob("ITS");

  bean.setYears("7");

  ServletContextctxt=getServletContext();

  RequestDispatcherrd=ctxt.getRequestDispatcher("/jsp/Post.jsp");

  if(rd!=null){

  rd.forward(req,res);

  }

  }

  }

  这里用了forward这个方法来吧请求forward到另外的资源中,这里我们用了jsp文件。

  然后定义两个jsp文件

  get.jsp

 

 

 

 

 

 

 

  EmployeeID

  Name

 

 

 

 

 

 

 

 

 

 

 

 

  post.jsp

 

 

 

  EmployeeID

  Name

  Department

  JobTitle

  YearsofContinuousEmployment

 

 

 

 

 

 

 

 

 

  这里是java文件:

  publicclassStaffBean{

  privateStringID;

  privateStringname;

  privateStringdept;

  privateStringjob;

  privateStringyears;

  publicStaffBean(){

  }

  publicStringgetID(){

  returnID;

  }

  publicvoidsetID(Stringstr){

  ID=str;

  }

  publicStringgetName(){

  returnname;

  }

  publicvoidsetName(Stringstr){

  name=str;

  }

  publicStringgetDept(){

  returndept;

  }

  publicvoidsetDept(Stringstr){

  dept=str;

  }

  publicStringgetJob(){

  returnjob;

  }

  publicvoidsetJob(Stringstr){

  job=str;

  }

  publicStringgetYears(){

  returnyears;

  }

  publicvoidsetYears(Stringstr){

  years=str;

  }

  }

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

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值