zoukankan      html  css  js  c++  java
  • SpringMVC 入门

    SpringMVC 入门

    SpringMVC是什么?
    Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来,如下图:
    这里写图片描述

    入门程序

    1.在IDEA中创建一个项目,添加一个模块springMVC,添加maven支持

     <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>4.3.3.RELEASE</version>
            </dependency>
    
        </dependencies>

    2.在web/WEB_INF/web.xml文件中配置DispatcherServlet分发器

     <!--配置分发器-->
        <servlet>
            <servlet-name>SpringMVC</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:/spring/springMvc-servlet.xml</param-value>
            </init-param>
        </servlet>
        <servlet-mapping>
            <servlet-name>SpringMVC</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>

    如果不指定 <param-value> 的值,则默认配置文件为/WEB-INF/<servlet-name>-servlet.xml<load-on-startup>是启动顺序,通常让Servlet跟随Servlet容器一起启动。<url-pattern>定义要拦截的URL请求。

    3.在resource下创建spring文件夹并且添加文件springMvc-servlet.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
                               http://www.springframework.org/schema/beans/spring-beans.xsd
                               http://www.springframework.org/schema/mvc
                               http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
                               http://www.springframework.org/schema/context
                               http://www.springframework.org/schema/context/spring-context-4.3.xsd">
        <!-- 使用注解驱动 -->
        <mvc:annotation-driven  />
        <!-- 配置扫描路径 -->
        <context:component-scan base-package="com.txp.springmvc.cotroller" />
        <!--springMvc-servlet.xml  前后缀-->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/" />
            <property name="suffix" value=".jsp"/>
        </bean>
    </beans>

    4.编写控制器

     /**
     * HomeController
     */
    @Controller
    public class Homecontroller {
        /**
         * 打开主页
         */
        @RequestMapping("/home")
        public  String openHome(){
            System.out.println("Hello World");
            return null;
        }
    
        @RequestMapping("/home2")
        public  String openHome1(){
            System.out.println("Hello World");
            return "index2";
        }
    }

    启动即可。

    常用注解

    • @Controller:声明Action组件,负责注册bean到Spring上下文
    • @RequestMapping:用于为控制器指定可以处理的url请求
    • @RequestParam:用于指定参数的name属性
    • @RequestBody:用于读取Request请求的body部分数据
    • @ResponseBody:用于将控制器方法返回的对象写入到Response对象的body数据区
    • @PathVariable:用于指定url作为参数
    • @Resource用于注入,( 由j2ee提供 ) 默认按名称装配
    • @Autowired用于注入,(由spring提供) 默认按类型装配
    • @ExceptionHandler:用于异常处理的方法
    • @ControllerAdvice:用于使控制器成为全局的异常处理类
    • @ModelAttribute:用于优先调用被注解的方法,或注解参数中的隐藏对象

    入门程序例子二
    模拟注册行为
    首先:在web下创建reg.jsp文件

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>reg</title>
    </head>
    <body>
    <form action="/doReg" method="post">
        UserName:<input type="text" name="username"><br/>
        PassWord:<input type="password" name="password"><br>
        <input type="submit">
    </form>
    </body>
    </html>

    再者:添加RegController文件

    @Controller
    public class RegController {
        @RequestMapping("/toReg")
        public String toReg(){
            return "reg";
        }
        @RequestMapping("/doReg")
        public String doReg(@RequestParam("username") String username,@RequestParam("password") String password){
            System.out.println("插入数据");
            System.out.println(username+"  "+password);
            return "index";
        }
    }

    其他文件不变

    希望在知识中书写人生的代码
  • 相关阅读:
    hadoop上的C++程序开发
    some phrase for oral english
    python的安装,IDLE基本操作
    of这个变态
    一分钟先生: 程序员面试真经
    Cloud Tool 小探索
    【学习总结】数学-欧拉函数
    第三篇——第二部分——第一文 SQL Server镜像简单介绍
    NYOJ 915 +-字符串
    人类主动探索地外文明(METI)活动正在进行中
  • 原文地址:https://www.cnblogs.com/tongxupeng/p/10259537.html
Copyright © 2011-2022 走看看