SpringMVC---理解认识和使用

SpringMVC的认识

什么是SpringMVC?

SpringMVC---理解认识和使用_第1张图片

SpringMVC只是基于Spring的一个MVC框架,理解SpringMVC需要事先理解以下几个关键的概念:
- 前端控制器(DispatchServlet)
- HandlerMapper(处理器映射器)
- HandlerAdapter(处理器适配器)
- 视图解析器(ViewResolver)
- 页面控制器(controlller)

SpringMVC---理解认识和使用_第2张图片

SpringMVC和经典的ServletMVC架构的异同

  • 两个控制器(前端控制器和页面控制器)
  • 视图解析器和Forward以及Dispatch的区别
  • 携带数据的方式不同(Request.setAttribute()以及ModelAndView)
  • SpringMVC面向方法的url映射(Servlet是面向Servlet类)
  • 四大注解的使用(@Service,@Repository,@Controller,@Component)
  • 模块化开发,解耦的目的就是为了复用。

SpringMVC项目的搭建流程

两个关键:
- Web.xml配置(1.DispatchServlet的配置 2.Content-param的配置“classpath”和一般配置的处理)
- spring-servlet.xml的配置(1.context:component-scan 2.视图解析器的配置VewResolver 3.注解映射的支持mvc:annotation-driver )

jar包的导入:

SpringMVC---理解认识和使用_第3张图片

SpringMVC的几个应用

HelloSpringMVC的实现:

步骤 操作 效果
步骤一 配置web.xml以及helloworld-servlet.xml
步骤二 创建Controller处理url请求
步骤三 创建跳转的.jsp并获取Controller中的数据(键-值) 网页显示HelloSpringMvc

配置详情:

步骤一:
- web.xml

<web-app id="WebApp_ID" version="2.4"
   xmlns="http://java.sun.com/xml/ns/j2ee" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

   <display-name>Spring MVC Applicationdisplay-name>

   <servlet>
      <servlet-name>HelloWebservlet-name>
      <servlet-class>
         org.springframework.web.servlet.DispatcherServlet
      servlet-class>
      <load-on-startup>1load-on-startup>
   servlet>

   <servlet-mapping>
      <servlet-name>HelloWebservlet-name>
      <url-pattern>/url-pattern>
   servlet-mapping>

web-app>
  • hello-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:context="http://www.springframework.org/schema/context"
   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-3.0.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">

   <context:component-scan base-package="com.tutorialspoint" />

   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix" value="/WEB-INF/jsp/" />
      <property name="suffix" value=".jsp" />
   bean>

beans>

步骤二:

@Controller
@RequestMapping(“/hello”)
public class HelloController{
    @RequestMapping(method=RequestMethod.GET)
    public String sendMsg(Modelmap model ){
        model.addAttribute("msg","Hello SpringMVC!");
        return "hello";
    }


}


步骤三:


...

    

${msg}

Form表单的处理

步骤 操作 效果
步骤一 xml文件的配置
步骤二 Student实体类的创建
步骤三 @Controller类的创建,并在类中分别定义跳传Form表单和处理结果的方法
步骤四 两个jsp的创建一个是包含Form表单的提交信息界面一个是提交后展示提交结果的界面 提交信息界面点击提交之后跳转到信息展示界面

前两步省略…

步骤三:

@Controller
public class MsgManager{

    @RequestMapping("/msgEdit")
    public String jumpToForm(){

        return "form";


    }


    @RequestMapping("/subMsg")
    public String manageResult(ModelMap model,Student stu){
        model.addAttribute("name",stu.getName());
        model.addAttribute("age",stu.getAge());
        model.addAttribute("hobbys",stu.getHobbys());
        model.addAttribute("height",stu.getHeight())

        return "result";

    }

}

步骤四:

  • form.jsp
<body>
    <form: form method="POST" action="/subMsg">
    <table>
    <tr>
        <td><form:label path="name">Nameform:label>td>
        <td><form:input path="name" />td>
    tr>
    <tr>
        <td><form:label path="age">Ageform:label>td>
        <td><form:input path="age" />td>
    tr>
    <tr>
        <td><form:label path="id">idform:label>td>
        <td><form:input path="id" />td>
    tr>
    <tr>
        <td colspan="2">
            <input type="submit" value="Submit"/>
        td>
    tr>
    form>


body>
  • result.jsp

<body>
    <h1>学生信息展示结果h1>
    <table>
        <tr>
            <td>姓名:td>
            <td>${name}td>

        tr>

        ...


    table>    


body>

你可能感兴趣的:(Java开发)