一起学Spring之Web基础篇
概述在日常的开发中Web项目集成Spring框架,已经越来越重要,而Spring框架已经成为web开发的主流框架之一。本文主要讲解Java开发Web项目集成Spring框架的简单使用,以及使用Spring和不使用Spring框架,两者之间的差异。 仅供学习分享使用,如有不足之处,还请指正。 页面访问流程图本示例的页面访问流程图如下所示: ? 不使用Spring框架的开发流程步骤如下: 1. 新增Service和Dao对应的类及接口实现如下所示:在Service中对Dao进行了强关联 1 package com.hex.Dao; 2 3 /** 4 * 学生Dao 5 * @author Administrator 6 * 7 */ 8 public interface IStudentDao { 9 public String GetStudentById(int id); 10 } 11 //////////////////////////////////////// 12 13 14 15 16 17 18 19 class StudentDaoImpl implements20 21 22 * 查询学生信息 23 24 @Override 25 id) { 26 27 return "hex"; 28 } 29 30 31 32 com.hex.Service; 33 34 35 * 学生服务接口 36 37 38 39 IStudentService { 40 41 42 43 44 45 import com.hex.Dao.IStudentDao; 46 com.hex.Dao.StudentDaoImpl; 47 48 49 * 学生服务实现类 50 51 52 53 class StudentServiceImpl 54 55 private IStudentDao studentDao; 56 57 void setStudentDao(IStudentDao studentDao) { 58 this.studentDao = studentDao; 59 60 61 62 63 //studentDao=new StudentDaoImpl(); 64 return studentDao.GetStudentById(id); 65 66 67 } 2. 新增HomeServlet类,并需要通过new的方式声明studentService对象如下所示: com.hex.servlet; * 访问Servlet实现类 17 18 class HomeServlet extends HttpServlet { 19 private static final long serialVersionUID = 1L20 IStudentService studentService; 22 23 24 25 * 构造函数26 27 public HomeServlet() { 28 29 30 31 * 初始化时声明studentService对象 33 35 void init() throws ServletException { 36 studentService=new StudentServiceImpl(); 38 39 40 * Get方法 41 42 protected void doGet(HttpServletRequest request,HttpServletResponse response) ServletException,IOException { 43 44 String studentName=studentService.GetStudentById(0); 45 request.setAttribute("studentName",studentName); 46 request.getRequestDispatcher("/jsp/Home.jsp").forward(request,response); 47 48 49 * Post方法,此处和Get方法同 51 52 void doPost(HttpServletRequest request,1)">53 TODO Auto-generated method stub 54 doGet(request,1)">55 56 57 } 3. 前端页面进行访问即可如下所示: 1 <a href="../HomeServlet">点击进入</a> 4. 缺点:此处形成了强依赖,即HomeServlet需要StudentServiceImpl对象。且StudentServiceImpl需要StudentDao的支持。 采用Spring的方式进行访问0. Spring框需要的Jar包Spring框架支持web项目需要的Jar包共7个,如下所示: //日志包 2 commons-logging-1.1.1.jar //spring核心包 spring-aop-4.0.6.RELEASE.jar spring-beans-4.0.6.RELEASE.jar spring-context-4.0.6.RELEASE.jar 7 spring-core-4.0.6.RELEASE.jar spring-expression-4.0.6.RELEASE.jar 9 //web包 10 spring-web-4.0.6.RELEASE.jar ? 1. 需要在web.xml文件中配置Spring对应的监听器如下所示: applicationContext.xml 位于src目录,所以需要加上classpath,是Spring容器的配置文件 context-param> 2 param-name>contextConfigLocation3 param-value>classpath:applicationContext.xml 4 5 6 <!-- 配置spring-web.jar对应的监听器 ,Tomcat启动时,自动初始化IOC容器 --> 7 listener8 listener-class>org.springframework.web.context.ContextLoaderListener9 2. 配置Spring的IOC容器 |