zoukankan      html  css  js  c++  java
  • 笔记14 Hello Spring MVC

    搭建一个SpringMVC所需要的包:

    1.创建MySpringMVC项目,使用dynamic web project的方式。

    2.导入jar包,放到/WebContent(WebRoot)/WEB-INF/lib目录下

    3.关联jar包,Build Path

    4.在WEB-INF目录下创建 web.xml
    配置Spring MVC的入口 DispatcherServlet,把所有的请求都提交到该Servlet
    注意:<servlet-name>myspringmvc</servlet-name>
    myspringmvc这个名字在下一步会用到

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
     5 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
     6     <servlet>
     7         <servlet-name>myspringmvc</servlet-name>
     8         <servlet-class>
     9             org.springframework.web.servlet.DispatcherServlet
    10         </servlet-class>
    11         <load-on-startup>1</load-on-startup>
    12     </servlet>
    13     <servlet-mapping>
    14         <servlet-name>myspringmvc</servlet-name>
    15         <url-pattern>/</url-pattern>
    16     </servlet-mapping>
    17 </web-app>

    5.在WEB-INF目录下创建myspringmvc-servlet.xml,myspringmvc-servlet.xml 与上一步中的<servlet-name>myspringmvc</servlet-name>对应。

    这是Spring MVC的 映射配置文件表示访问路径/index会交给id=indexController的bean处理id=indexController的bean配置为类:IndexController

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
     3 <beans>
     4     <bean id="simpleUrlHandlerMapping"
     5         class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
     6         <property name="mappings">
     7             <props>
     8                 <prop key="/index">indexController</prop>
     9             </props>
    10         </property>
    11     </bean>
    12     <bean id="indexController" class="controller.IndexController"></bean>
    13 </beans>

    6.控制类 IndexController

    控制类 IndexController实现接口Controller ,提供方法handleRequest处理请求
    SpringMVC通过 ModelAndView 对象把模型和视图结合在一起

    ModelAndView mav = new ModelAndView("index.jsp");
    mav.addObject("message", "Hello Spring MVC");

    表示视图是index.jsp
    模型数据是 message,内容是 “Hello Spring MVC”

     1 package controller;
     2 
     3 import javax.servlet.http.HttpServletRequest;
     4 import javax.servlet.http.HttpServletResponse;
     5 
     6 import org.springframework.web.servlet.ModelAndView;
     7 import org.springframework.web.servlet.mvc.Controller;
     8 
     9 public class IndexController implements Controller {
    10     public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
    11         ModelAndView mav = new ModelAndView("index.jsp");
    12         mav.addObject("message", "Hello Spring MVC");
    13         return mav;
    14     }
    15 }

    7.视图index.jsp

     1 <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
     2 <%
     3 String path = request.getContextPath();
     4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
     5 %>
     6 
     7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     8 <html>
     9   <head>
    10     <base href="<%=basePath%>">
    11     
    12     <title>My JSP 'index2.jsp' starting page</title>
    13     
    14     <meta http-equiv="pragma" content="no-cache">
    15     <meta http-equiv="cache-control" content="no-cache">
    16     <meta http-equiv="expires" content="0">    
    17     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    18     <meta http-equiv="description" content="This is my page">
    19     <!--
    20     <link rel="stylesheet" type="text/css" href="styles.css">
    21     -->
    22 
    23   </head>
    24   
    25   <body>
    26     <h1>${message}</h1>
    27   </body>
    28 </html>

    8.运行

    原理图:

    1. 用户访问 /index
    2. 根据web.xml中的配置 所有的访问都会经过DispatcherServlet
    3. 根据 根据配置文件springmvc-servlet.xml ,访问路径/index
    会进入IndexController类
    4. 在IndexController中指定跳转到页面index.jsp,并传递message数据
    5. 在index.jsp中显示message信息

     

  • 相关阅读:
    #include <boost/scoped_ptr.hpp>
    #include <boost/function.hpp>
    #include <boost/bind.hpp>
    8.4散列表查找
    #include <boost/array.hpp>
    异常
    lambda
    #include <amp.h>
    #include <bitset>
    #include <hash_set>
  • 原文地址:https://www.cnblogs.com/lyj-gyq/p/8908550.html
Copyright © 2011-2022 走看看