j2ee项目实训spring框架技术——第10章springmvc框架应用技术第1部分内容摘要:
授工作室,版权所有,盗版必究 , 7/18 页 由于 DispatcherServlet 组件本身也是一个标准的 Servlet 组件类,因此可以按照标准的 Servlet 组件的配置形式在 中配置出该 Spring MVC 的前端控制器DispatcherServlet 组件类。 ( 2)每个 DispatcherServlet 组件类 有它自己的 WebApplicationContext 上下文环境对象 由于每个 DispatcherServlet 组件类各有其命名空间( NameSpace),和与其相对应的应用程序的上下文环境对象( WebApplicationContext)。 开发者可以在应用系统的 文件中配置定义出多个 DispatcherServlet 组件 类的对象实例,分別负责系统中不同模块的请求处理的工作。 ( 3)在 中定义 DispatcherServlet 组件类 【例 103】在 中定义出 DispatcherServlet 的对象实例,并请注意其中的黑体部分的标签。 另外,为了节省本书的篇幅, 省略了其它的 无关的 标签定义 的内容。 ?xml version= encoding=UTF8? !DOCTYPE webapp PUBLIC //Sun Microsystems, Inc.//DTD Web Application webapp displaynameSpringWeb/displayname servlet servletnamespringapp/servletname servletclass /servletclass loadonstartup1/loadonstartup /servlet servletmapping servletnamespringapp/servletname urlpattern*.do /urlpattern /servletmapping !— 其它的标签定义,在此加以省略 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 8/18 页 /webapp 在该 Web 应用项目中增加一个表示层的 JSP 页面组件 文件 名称为 ,内容为下面的 【例 104】中所示的标签内容。 【例 104】 本项目中的 表示层 JSP页面 的示例 %@ page contentType=text/html。 charset=GBK % htmlheadtitleindex/title /headbody bgcolor=ffffff h1 这是 我的第一个 Spring Web 应用 /h1 a href=/SpringMVCWeb/ 点击我,可以向 Spring 的控制器发出请求(利用 Spring MVC 技术) /a /body/html 编程设计项目中的业务控制器组件 SpringappController 类 ( 1) Spring MVC 框架中的控制器( Controller) 组件 是线程不安全的 和 Struts MVC 框架中的 Action 组件类一样, Spring MVC 框架中的 后端业务处理的 控制器( Controller)由于是单例对象( Singleton)。 这意味着 Spring 框架 系统将会针对每个客户端的请求,都会用原有的 业务 控制器组件的对象实例来处理该请求,这样 的设计给 应用 系统所带来的好处是不用每次创建控制器组件的对象实例,从而也就减少了对 业务控制器组件的对象实例 进行 创建和垃圾收集 时所花费 的时间。 但由于只有一个 业务 控制器组件的对象实例,当多个不同的请求产生时,系统将会产生出多个不同的线程来响应它们。 因此在 业务 控制器组件的对象实例中所定义的类的成员对象变量将是线程不安全的。 对此,希望读者应该能够明确和注意 这个问题。 为此,在业务 控制器组件的对象实例中 最好不要声明类的成员变量,而应该声明方法级的变量。 ( 2)在 项目 中增加一个 业务控制器组件 类 类 名称为 SpringappController,包名称为 ,并且实现 接口。 请见下面的图 中的杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 9/18 页 输入状态的要求。 图 在项目中增加一个业务控制器组件类 ( 3)如何避免将目标页面硬编码到控制器组件中 为 SpringappController业务控制器组件类 提供一个 viewPage 属性,利用它来设置目标页面的 URL。 从而也就 避免将目标页面硬编码到控制器组件中 ,实现 业务控制器组件类 和对应的表示层组件之间的解藕。 ( 4)编程该业务控制器组件类 , 并且直接在控制器组件类中通过依赖注入的方式获得业务组件类的对象实例 【例 105】 SpringappController业务控制器组件类的代码示例 package。 import。 import。 import。 import .*。 import。 import .*。 public class SpringappController implements Controller{ private TimeBusinessInterface timeDateBusinessBean=null。 public void setTimeDateBusinessBean(TimeBusinessInterface 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 10/18 页 newTimeDateBusinessBean) { //将业务组件以属性注入的方式注入到控制层组件中 timeDateBusinessBean=newTimeDateBusinessBean。 } public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ String nowTimeString = ()。 return new ModelAndView(getViewPage(), nowTi。j2ee项目实训spring框架技术——第10章springmvc框架应用技术第1部分
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。