活动地址:CSDN21天学习挑战赛
1.创建项目,引入jar包
包括四个核心包,commons-logging包和两个web相关包
2.配置前端控制器
在web.xml中配置Spring MVC的前端控制器DispatcherServlet
- <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
- http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
- id="WebApp_Id" version="4.0"
- >
- <servlet>
- <servlet-name>springmvcservlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
- <init-param>
- <param-name>contextConfigLocationparam-name>
- <param-value>classpath:springmvc-config.xmlparam-value>
- init-param>
- <load-on-startup>1load-on-startup>
- servlet>
- <servlet-mapping>
- <servlet-name>springmvcservlet-name>
- <url-pattern>/url-pattern>
- servlet-mapping>
- web-app>
对
和 元素进行配置: 在
中配置了Spring MVC的前端控制器DispatcherServlet; 通过其子容器
配置了Spring MVC配置文件的位置;
元素中的1表示容器在启动时立即加载这个Servlet; 在
中,通过 元素的"/"拦截所有URL,并交由DispatcherServlet处理。
3.创建ControllerTest类
在src目录下创建一个包命名为com.ssm.controller,在包内创建ControllerTest类,该类要实现Controller接口
- package com.ssm.controller;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.web.servlet.ModelAndView;
- import org.springframework.web.servlet.mvc.Controller;
- public class ControllerTest implements Controller {
- @Override
- public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
- ModelAndView m=new ModelAndView();
- m.addObject("msg","我的第一个 Spring MVC应用");
- m.setViewName("/welcome.jsp");
- return m;
- }
- }
-
handleRequest()是Controller接口的实现方法
向模型对象中添加一个名称为msg的字符串对象,并设置返回的视图路径为:"/welcome.jsp"
这样请求就会转发到welcome.jsp页面。
4.创建Spring MVC的配置文件。配置控制器映射信息
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd">
-
- <bean name="/controllerTest" class="controller.ControllerTest" />
-
- <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
-
- <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
-
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" />
- beans>
将控制类ControllerTest映射到"/controllerTest"请求中。如果将"/controllerTest"改为
"/index"则我们最后的访问网站为:localhost:8848/chapter11/index
处理器适配器,配置对处理器中handleRequest()方法的调用
解析结果视图,并将结果呈现给用户。
5.创建视图(View)页面
在web-app下创建welcome.jsp,使用EL表达式获取msg中的信息。
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- HTML>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>入门程序title>
- head>
- <body>
- ${msg}
- body>
- html>
6.运行测试
将项目部署在服务器上后,运行localhost:8848/chapter11/controllerTest
运行结果:
8848:服务器的端口号
chapter11:项目名
controllerTest:配置的url
项目源码:
链接:https://pan.baidu.com/s/1l60cLObxsSFv_vLc4R_Ptw?pwd=ptsn
提取码:ptsn
7. Spring MVC执行流程
执行流程: