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

来源:互联网 发布:mysql 5.6.35.tar.gz 编辑:程序博客网 时间:2024/05/29 17:55
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></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"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击