zoukankan      html  css  js  c++  java
  • StrutsMVC(简介)

    Domain Model(领域模型):核心业务也就是对象模型,以及对象之间的关系,DDD领域驱动设计。

    struts在表现层使用,spring主要在业务层使用,hibernate是持久层使用

    struts 里面对象导航,拦截起,类型转换。

    spring里面就一个依赖注入,声明式事务

    hibernate里面关键是hql,对象直接的关系,一对多,多对多

    一个业务逻辑如果要考虑sql的性能就把它封装到存储过程中,如果不考虑性能就不需要封装到存储过程中,因为存储过程的移植性不太好。

    多层架构中,层多则复用高,耦合低,可扩展性好,具体情况具体分析。

    工程根目录:192.168.1.109:8080/text_servlet/,表示的是index.jsp的路径

    如果写页面的相对路径,则把index.jsp做为参考,由上到下的写出路径,例如:

    在index.jsp中跳转到b.jsp页面: <a href="a/b/b.jsp">b.jsp</a>

     <body>b.jsp<br>
      由b.jsp跳转到a.jsp:<a href="a/a.jsp">a.jsp</a><br>
      由b.jsp跳转到c.jsp:<a href="a/b/c/c.jsp">c.jsp</a><br>
      由b.jsp跳转到d.jsp:<a href="a/d/d.jsp">d.jsp</a><br>
      由b.jsp跳转到e.jsp:<a href="e/e.jsp">e.jsp</a>
      </body>

    实例:

    index.jsp代码

    <body>
        <h1>测试Servlet</h1>
        <form action="servlet/TestServlet" method="post">
          <input type="text" name="username"/>
          <input type="submit" value="查询"/>
        </form>
        <a href="a/b/b.jsp">b.jsp</a>
      </body>

    a.jsp代码

     <body>
        a.jsp<br>
      </body>

    c.jsp代码

    body>c.jsp<br>
      
        <%
          List<String> userlist=(List<String>)request.getAttribute("userlist");
          out.println(userlist);
        %>
      
      </body>

    d.jsp代码

     <body>d.jsp<br>
      </body>

    e.jsp代码

     <body>e.jsp<br>
      </body>

    TestServlet代码:

    package com.bjsxt.test;

    import java.io.*;
    import java.util.List;

    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;


    public class TestServlet extends HttpServlet {

     @Override
     protected void service(HttpServletRequest req, HttpServletResponse res)
       throws ServletException, IOException {
      
      //取得表单数据
      String username=req.getParameter("username");
      UserManager userManager=new UserManager();
      List<String> userlist=userManager.findUserByName(username);
         req.setAttribute("userlist", userlist);
      //转向到c.jsp,取出list中的数据
      req.getRequestDispatcher("/a/b/c/c.jsp").forward(req, res);
     }

    }

    UserManager代码

    package com.bjsxt.test;

    import java.util.ArrayList;
    import java.util.List;

    public class UserManager {

     public List<String> findUserByName(String name)
     {
      List<String> userList=new ArrayList<String>();
      userList.add("数据1");
      userList.add("数据2");
      return userList;
     }
    }

    该工程流程:

    1,客户端发送request请求到服务器web server

    2,web server调用servlet处理请求

    3,在servlet中获取数据

    4,servlet将获取的数据调用javabean业务逻辑方法处理数据

    5,javabean将结果返回到servlet

    6,在servlet中将结果设置到request中

    7,servlet选择jsp视图

    8,视图跳转请求道web server

    9,web server转向到视图

    10,视图页面获取数据

    11,视图页面到web serever(Tomcat)中生成了一个response

    12,返回客户端

  • 相关阅读:
    英语八级之路
    ASP.NET MVC 简易在线书店
    MySql 笔记
    自定义函数标签(JSTL)
    自定义标签(JSTL)
    Xml读取异常--Invalid byte 1 of 1-byte UTF-8 sequence
    JSTL核心标签库
    JSTL简介
    修改Servlet模板
    获取GET/POST提交的数据,并处理中文问题
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1951812.html
Copyright © 2011-2022 走看看