第六课:J2EE MVC 编程

课程网站:

  • http://ss.sysu.edu.cn/~pml/dct/7_intro_j2ee.html

相关文章:

  • 第一课:Java进阶与Socket通讯实验
  • 第二课:Socket通讯与HTTP服务器
  • 第三课:Java Web 编程原理
  • 第四课:RESTful Webservice 编程

简述 J2EE 全称,产业目标。

J2EE的全称是Java 2 Platform Enterprise Edition,即Java 2平台企业版。J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。

简述 J2EE 的四层模型, MVC 属于哪一层? JPA 属于哪一层?

J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。以下是 J2EE 典型的四层结构:

  • 运行在客户端机器上的客户层组件
  • 运行在J2EE服务器上的Web层组件
  • 运行在J2EE服务器上的业务逻辑层组件
  • 运行在EIS服务器上的企业信息系统(Enterprise information system)层软件
第六课:J2EE MVC 编程_第1张图片
四层模型

MVC属于Web层组件。JPA属于企业信息系统层软件。

解释 MVC 由哪些组件构成, 每个组件的职责是什么?

MVC 通过将问题分为三个类别来帮助解决单一模块方法所遇到的某些问题:

  • Model(模型)
    模型包含应用程序的核心功能。模型封装了应用程序的状态。有时它包含的唯一功能就是状态。它对视图或控制器一无所知。
  • View(视图)
    视图提供模型的表示。它是应用程序的 外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。当更改模型时,视图应得到通知。
  • Controller(控制器)
    控制器对用户的输入作出反应。它创建并设置模型。

简单描述 web 应用 MVC 模型的执行过程。

  • HTTP 请求由 web 应用服务器分配( web.xml )给框架提供的 Servlet 或 Filter;
  • 框架将请求按应用程序 注解元数据(annatation)或 如struts.xml 将请求分派给 URI 对应的处理程序
  • 控制器处理请求输入、验证、从业务组件(层)获取数据、装配数据模型,最后,选择合适输出模板
  • 模板读取数据,产生输出流

(!)在 Good Thymes Virtual Grocery 代码基础上修改程序为 my_mvc,使它能支持 @Controller 等元数据(仅 @Controller 与 部分 URI Mapping)。

……

实验 Serving Web Content with Spring MVC 后,通过 reference 文档描述 post 方法的参数有哪些 Java annotation 实现 URI Mapping

在servlet中GET请求可以通过HttpServletRequest的getRequestURL方法和getQueryString()得到完整的请求路径和请求所有参数列表,POST的需要getParameterMap()方法遍历得到,不论GET或POST都可以通过getRequestURL+getParameterMap()来得到请求完整路径

控制器能否返回 void? 如能,编程要注意哪些问题。可参考 spring MVC helloworld for jetty 的代码。

能。在spring MVC helloworld for jetty中,控制器的sayHello()就是返回了void。

@RequestMapping("/hello")
public void sayHello(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        response.setStatus(HttpServletResponse.SC_OK);
        response.getWriter().println("

Hello ,!!!!

"); response.getWriter().println("session=" + request.getSession(true).getId()); }

返回void的时候,返回的是请求地址对应的页面,要注意数据保护。

参考资料:http://blog.csdn.net/zhujianli1314/article/details/43530841?locationNum=9

在 servlet 3.0 规范中,应用程序启动必须是那个接口的实现。

Servlet接口。Servlet会在服务器创建或者第一次访问的时候调用。

参考资料:http://blog.csdn.net/dzy21/article/details/51800549

(!)下载 IBM 文章中源代码,并给出 pom.xml 用它体验 JPA 的方便性和优越性。 代码 jpa_test。

JPA的环境由如下网站给出:
http://www.cnblogs.com/xdcr/p/5920806.html

研究 IBM jpa 程序以及 Spring Thyme Seed Starter Manager 等程序的包结构,说明用户 J2EE 编程时需要关注哪些部件(包)。

你可能感兴趣的:(第六课:J2EE MVC 编程)