zoukankan      html  css  js  c++  java
  • JavaWeb三层架构

    MVC设计模式

      不是Java特有的,所有的B/S结构的项目都可以用这种设计模式。

      MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

      *控制器Controller:对请求进行处理,负责请求转发;

      *视图View:界面设计人员进行图形界面设计;

      *模型Model:程序编写程序应用的功能(实现算法等等)、数据库管理;

    JavaWeb三层架构

    web层:与web相关的内容(Servlet,JSP,Service相关的API;request、response、session、ServletContext)

    业务层:业务对象的处理(Service)

    Dao层:(DAO Data Access Object)操作数据库,所有对数据库的操作,不能跳出DAO层之外

     

    注意:JSP响应到客户端浏览器,在页面上点击超链接,或者提交表单,是直接请求的Servlet。

    使用这样的结构可以解耦合。

    例子:

    一个JavaBean:User

     1 package cn.itcast.domain;
     2 
     3 /*
     4  *把数据库中查询的结果保存到这个对象中。
     5  * */
     6 public class User {
     7     private String username;
     8     private String password;
     9 
    10     public String getUsername() {
    11         return username;
    12     }
    13 
    14     public void setUsername(String username) {
    15         this.username = username;
    16     }
    17 
    18     public String getPassword() {
    19         return password;
    20     }
    21 
    22     public void setPassword(String password) {
    23         this.password = password;
    24     }
    25 
    26     @Override
    27     public String toString() {
    28         return "User [username=" + username + ", password=" + password + "]";
    29     }
    30 
    31     public User() {
    32         super();
    33         // TODO Auto-generated constructor stub
    34     }
    35 
    36     public User(String username, String password) {
    37         super();
    38         this.username = username;
    39         this.password = password;
    40     }
    41 }

    UserDAO.java:

     1 package cn.itcast.dao;
     2 
     3 import cn.itcast.domain.User;
     4 
     5 //数据层
     6 public class UserDAO {
     7     /*
     8      * 把xml中的数据查询出来之后,封装到user对象中,然后返回
     9      * */
    10     public User find(){
    11         return new User("张三","123");
    12     }
    13 }

    UserService.java:

     1 package cn.itcast.service;
     2 
     3 import cn.itcast.dao.UserDAO;
     4 import cn.itcast.domain.User;
     5 
     6 //业务层
     7 public class UserService {
     8     //service层依赖dao层
     9     private UserDAO userdao=new UserDAO();
    10     
    11     /*
    12      * service的查询 ,需要使用dao来完成
    13      * 即调用dao层的方法
    14      * */
    15     public User find(){
    16         return userdao.find();
    17     
    18     }
    19 }

    UserServlet.java:

     1 package cn.itcast.servlet;
     2 
     3 import java.io.IOException;
     4 import java.io.PrintWriter;
     5 
     6 import javax.servlet.ServletException;
     7 import javax.servlet.http.HttpServlet;
     8 import javax.servlet.http.HttpServletRequest;
     9 import javax.servlet.http.HttpServletResponse;
    10 
    11 import cn.itcast.domain.User;
    12 import cn.itcast.service.UserService;
    13 
    14 public class UserServlet extends HttpServlet {
    15 
    16     //web层
    17     public void doGet(HttpServletRequest request, HttpServletResponse response)
    18             throws ServletException, IOException {
    19         /*
    20          * 在service中依赖service,然后通过service完成功能,把结果
    21          * 保存到request中
    22          * 转发到jsp显示。
    23          * */
    24         UserService userService=new UserService();
    25         User user=userService.find();
    26         //保存到域中
    27         request.setAttribute("user", user);
    28         //显示
    29         request.getRequestDispatcher("/show.jsp").forward(request, response);
    30     }
    31 }

    index.jap:

    ...
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!-- 导入的标签库 -->
    ...
    
      <body>
      <!-- 当用户点击这个链接会执行doGet方法 -->
        <a href="<c:url value='/UserServlet'/>">点击这里</a>
        <c:url value="/UserServlet"></c:url>   <!--   -->
      </body> 

     show.jsp:

      <body>
      <!-- EL表达式   全域查找    javabean导航-->
        用户名:${user.username }<br>
        密	码:${user.password }<br>
      </body>
    

      请求http://localhost:8080/day13_3/index.jap  后再点击链接跳转到show.jsp

    显示:    用户名:张三
        密 码:123


    以上就是JavaWeb的简单使用!!!

  • 相关阅读:
    毕业论文格式
    2018.12.14
    关于百度搜索引擎的优缺点
    2018.12.13
    2018.12.12
    2018.12.11
    2108.12.10
    2018.12.9
    2018.12.8
    2018.12.7
  • 原文地址:https://www.cnblogs.com/xjs1874704478/p/10877570.html
Copyright © 2011-2022 走看看