• SpringMVC基本配置


    1 springmvc 框架

    1.1  回顾mvc结构

     

    1.2springmvc的介绍

    是一个基于mvc的web层框架,使用spring的一个子项目

    在使用springmvc的时候,不用单独和spring进行集成。

    2 第一个springmvc的应用

    2.1新建web项目

    2.2加入jar包

     

    2.3建立Controller

    Controller:应用控制器,就是一个普通的javabean

    模拟用户登录:

     1 package org.guangsoft.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 
    10 public class UserController implements Controller
    11 {
    12 
    13     /**
    14      * ModelAndView:对象汇总封装了需要响应到客户端额的数据的视图的页面
    15      */
    16     @Override
    17     public ModelAndView handleRequest(HttpServletRequest request,
    18             HttpServletResponse response) throws Exception
    19     {
    20         //获得页面请求数据
    21         String username = request.getParameter("username");
    22         String password = request.getParameter("password");
    23         
    24         //创建一个ModelAndView对象,封装了需呀显示的视图和视图上需要显示的数据
    25         ModelAndView mav = new ModelAndView();
    26         if(username.equals("root") && password.equals("root"))
    27         {
    28             //请求转发
    29             mav.setViewName("success.jsp");
    30             mav.addObject("username",username);
    31         }
    32         else
    33         {
    34             mav.setViewName("error.jsp");
    35             mav.addObject("msg", "用户名或密码错误!");
    36         }
    37         return mav;
    38     }
    39 
    40 }

    2.4建立springmvc.xml配置文件

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans
     3     xmlns="http://www.springframework.org/schema/beans"
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     5     xmlns:p="http://www.springframework.org/schema/p"
     6     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
     7 
     8     <!-- name是usercontroller请求的url -->
     9     <bean name="/userController.action" class="org.guangsoft.controller.UserController"></bean>
    10 </beans> 

    2.5在web.xml中配置springmvc的核心控制器

    Springmvc的核心控制器是一个servlet

     1 package org.guangsoft.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 
    10 public class UserController implements Controller
    11 {
    12 
    13     /**
    14      * ModelAndView:对象汇总封装了需要响应到客户端额的数据的视图的页面
    15      */
    16     @Override
    17     public ModelAndView handleRequest(HttpServletRequest request,
    18             HttpServletResponse response) throws Exception
    19     {
    20         //获得页面请求数据
    21         String username = request.getParameter("username");
    22         String password = request.getParameter("password");
    23         //床架一个ModelAndView对象,封装了需呀显示的视图和视图上需要显示的数据
    24         ModelAndView mav = new ModelAndView();
    25         if(username.equals("root") && password.equals("root"))
    26         {
    27             //请求转发
    28             mav.setViewName("success.jsp");
    29             mav.addObject("username",username);
    30         }
    31         else
    32         {
    33             mav.setViewName("error.jsp");
    34             mav.addObject("msg", "用户名或密码错误!");
    35         }
    36         return mav;
    37     }
    38 
    39 }

    2.6建立视图页面

    建立登陆页面:

    建立成功提示页面:

    2.7发布测试

    3第一个程序问题总结

    Springmvc.xml的文件加载问题:

          如果不配置,默认/WEB-INF/springmvc-servlet.xml

    请求url的问题:

          核心控制的路径:/* 会导致jsp页面404错误,要用*.action

    4 controller应用控制器的不同实现

    Handler的不同实现方式,UserHandler

    4.1实现Controller接口

    4.2实现HttpRequestHandler

    最原始的servlet写法,获得请求参数和进行跳转都是用原始的servletapi。

     1 package org.guangsoft.controller;
     2 
     3 import java.io.IOException;
     4 
     5 import javax.servlet.ServletException;
     6 import javax.servlet.http.HttpServletRequest;
     7 import javax.servlet.http.HttpServletResponse;
     8 
     9 import org.springframework.web.HttpRequestHandler;
    10 import org.springframework.web.servlet.ModelAndView;
    11 
    12 public class UserController2 implements HttpRequestHandler
    13 {
    14 
    15     @Override
    16     public void handleRequest(HttpServletRequest request, HttpServletResponse response)
    17             throws ServletException, IOException
    18     {
    19         //获得页面请求数据
    20         String username = request.getParameter("username");
    21         String password = request.getParameter("password");
    22         if(username.equals("root") && password.equals("root"))
    23         {
    24             //请求转发
    25             request.setAttribute("username", username);
    26             response.sendRedirect("success.jsp");
    27         }
    28         else
    29         {
    30             response.sendRedirect("error.jsp");
    31         }
    32     }
    33 
    34 }

    4.3自定义javabean(重点)

    不需要实现任何接口,处理请求的方法自己定义(参数和返回值),配合注解一起使用

    4.3.1定义Controller

    通过扫描将controller纳入spring容器

     1 package org.guangsoft.controller;
     2 
     3 import org.springframework.stereotype.Controller;
     4 import org.springframework.ui.Model;
     5 import org.springframework.web.bind.annotation.RequestMapping;
     6 
     7 @Controller
     8 public class UserController3
     9 {
    10     /**
    11      * 返回值:stirng表示跳转的路径
    12      * username:接受客户端请求的username
    13      * passowrd:接受客户端请求的password
    14      * model:封装需要响应到客户端的数据
    15      * 参数名称必须和客户端请求的参数名称一致
    16      * @return
    17      */
    18     @RequestMapping("/userLogin")//客户端请求的url
    19     public String userLogin(String username, String password, Model model)
    20     {
    21         if(username.equals("root") && password.equals("root"))
    22         {
    23             model.addAttribute("username",username);
    24             return "success.jsp";//完成页面的跳转
    25         }
    26         else
    27         {
    28             model.addAttribute("msg", "您的用户名或密码错误!");
    29             return "error.jsp";
    30         }
    31     }
    32

    4.3.2进行UserController3的配置

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans
     3     xmlns="http://www.springframework.org/schema/beans"
     4     xmlns:context="http://www.springframework.org/schema/context"
     5     xmlns:mvc="http://www.springframework.org/schema/mvc"
     6     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     7     xmlns:p="http://www.springframework.org/schema/p"
     8     xsi:schemaLocation=
     9     "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
    10     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
    11     http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">
    12 
    13     <!-- name是usercontroller请求的url -->
    14     <bean name="/userController.action" class="org.guangsoft.controller.UserController"></bean>
    15     <context:component-scan base-package="org.guangsoft.controller"></context:component-scan>
    16     <mvc:annotation-driven></mvc:annotation-driven>
    17 </beans>
  • 相关阅读:
    全网最全微服务架构—Spring Cloud详解,没有比这更详细的了!
    基于 Spring Cloud 的微服务架构实践指南(上)
    如何在一分钟内搞定面试官?
    成功面试宝典Java
    Spring Boot 自动装配流程
    C语言浮点数
    C语言字符串
    C语言数据类型转换
    C语言结构体
    C语言格式化输出
  • 原文地址:https://www.cnblogs.com/guanghe/p/6188519.html
Copyright © 2020-2023  润新知