zoukankan      html  css  js  c++  java
  • SpringMVC -- 梗概--源码--壹--跳转

    1.配置web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <display-name></display-name>    
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
      
      <!-- 前端控制器 
             /=默认的url-pattern
             /a/b/c  /a
             
             /a/d/c
             /a/d
             /a
             /
             *注意:此控制器默认加载/WEB-INF下的xxx-servlet.xml文件
                            :其中xxx等于【DispatcherServlet的配置名】
      -->
      <servlet>
          <servlet-name>mvc61</servlet-name>
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
          <init-param>
              <param-name>contextConfigLocation</param-name>
              <param-value>classpath:mvc62.xml</param-value>
          </init-param>
          <!-- 随项目启动而启动 -->
          <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
          <servlet-name>mvc61</servlet-name>
          <url-pattern>/</url-pattern>
      </servlet-mapping>
      
      <!-- 专治Post请求参数乱码 -->
      <filter>
          <filter-name>encoding61</filter-name>
          <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
          <!-- 将请求的编码方式设置为utf-8 -->
          <init-param>
              <param-name>encoding</param-name>
              <param-value>utf-8</param-value>
          </init-param>
      </filter>
      <filter-mapping>
          <filter-name>encoding61</filter-name>
          <url-pattern>/*</url-pattern>
      </filter-mapping>
    </web-app>

    2.配置控制器

    Class : JumpController

    package com.c61.controller;
    
    import java.util.Date;
    
    import org.springframework.format.annotation.DateTimeFormat;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.servlet.ModelAndView;
    
    import com.c61.entity.User;
    import com.c61.entity.ValueObject;
    
    /**
     * 
     * @author admin
     * 收参测试  controller
     */
    @Controller
    @RequestMapping(value="/mvc2")//等价于namespace
    public class JumpController {
        
        @RequestMapping("/jump1")
        public String testJump1(){
            System.out.println("jump1");
            return "forward:/abc.jsp";//转发到 /abc.jsp
        }
        @RequestMapping("/jump2")
        public String testJump2(){
            System.out.println("jump2");
            return "redirect:/view/abc.jsp";//重定向到 /abc.jsp
        }
        
        /**
         * 如下两个方法中在进行 C --> C 跳转
         * 可以写相对路径或绝对路径
         * 但是,进行跨namespace的跳转时,必须要用绝对路径
         * @return
         */
        @RequestMapping("/jump3")
        public String testJump3(){
            System.out.println("jump3");
            //return "forward:jump1";//转发跳转到jump1中,【jump1】相对路径,相对于当前的namespace
                                   //即,【jump1】等价于【/mvc2/jump1】
            return "forward:/mvc2/jump1";//转发跳转到/mvc2/jump1中,绝对路径
        }
        
        @RequestMapping("/jump4")
        public String testJump4(){
            System.out.println("jump4");
            //return "redirect:jump2";//重定向跳转到jump1中,【jump2】相对路径,相对于当前的namespace
                                   //即,【jump2】等价于【/mvc2/jump2】
            //return "redirect:/mvc2/jump2";//重定向跳转到/mvc2/jump2中,绝对路径
            return "redirect:/mvc3/jump9";
        }
        
        //了解  ModelAndView
        @RequestMapping("/jump5")
        public ModelAndView testJump5(){
            System.out.println("jump5");
            ModelAndView mav=new ModelAndView();
            mav.addObject("name", "lime");
            mav.setViewName("forward:/mvc3/jump9");
            return mav;
        }
    }

    Class : JumpController2

    package com.c61.controller;
    
    import java.util.Date;
    
    import org.springframework.format.annotation.DateTimeFormat;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    
    import com.c61.entity.User;
    import com.c61.entity.ValueObject;
    
    /**
     * 
     * @author admin
     * 收参测试  controller
     */
    @Controller
    @RequestMapping(value="/mvc3")//等价于namespace
    public class JumpController2 {
        
        @RequestMapping("/jump9")
        public String testJump1(){
            System.out.println("jump9 in mvc3");
            return "forward:/abc.jsp";//转发到 /abc.jsp
        }
        
    }

    3 配置视图

    View : jump.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
      </head>
      
      <body>
        <form action="${pageContext.request.contextPath}/mvc2/jump1">
            <input type="submit" value="提交"/>
        </form>
      </body>
    </html>

    View : abc.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
      </head>
      
      <body>
        This is my abc JSP page. <br>
        name:${requestScope.name}
      </body>
    </html>

    View : /view/abc.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
      </head>
      
      <body>
        This is my abc JSP page. <br>
      </body>
    </html>

    啦啦啦

  • 相关阅读:
    jQuery Mobile方向感应事件
    Linq-多条件查询
    linux top命令详解
    在Python中调用C++,使用SWIG
    linux下core文件调试方法
    如何设置、查看以及调试core文件
    标准C++中的string类的用法总结(转)
    实用make最佳实践
    GDB多进程调试(转)
    GDB详解
  • 原文地址:https://www.cnblogs.com/ClassNotFoundException/p/6705359.html
Copyright © 2011-2022 走看看