springMVC笔记(一)

今天写一个springMVC的入门日志,使用spring4.1.6。

加入maven依赖,pom.xml如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>com</groupId>

    <artifactId>springmvc</artifactId>

    <packaging>war</packaging>

    <version>0.0.1-SNAPSHOT</version>

    <name>springmvc Maven Webapp</name>

    <url>http://maven.apache.org</url>

    <dependencies>

        <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>3.8.1</version>

            <scope>test</scope>

        </dependency>

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-core</artifactId>

            <version>4.1.6.RELEASE</version>

        </dependency>

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-web</artifactId>

            <version>4.1.6.RELEASE</version>

        </dependency>

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-webmvc</artifactId>

            <version>4.1.6.RELEASE</version>

        </dependency>

        <dependency>

            <groupId>javax.servlet</groupId>

            <artifactId>jstl</artifactId>

            <version>1.2</version>

        </dependency>



        <!-- START SERVLET -->

        <dependency>

            <groupId>javax.servlet</groupId>

            <artifactId>javax.servlet-api</artifactId>

            <version>3.1.0</version>

            <scope>provided</scope>

        </dependency>

        <dependency>

            <groupId>taglibs</groupId>

            <artifactId>standard</artifactId>

            <version>1.1.2</version>

        </dependency>

        <dependency>

            <groupId>javax.servlet.jsp</groupId>

            <artifactId>jsp-api</artifactId>

            <version>2.2</version>

            <scope>provided</scope>

        </dependency>

    </dependencies>



    <build>

        <plugins>

            <plugin>

                <groupId>org.apache.tomcat.maven</groupId>

                <artifactId>tomcat7-maven-plugin</artifactId>

                <version>2.1</version>

                <configuration>

                    <port>8080</port>

                    <path>/springmvc</path>

                    <uriEncoding>UTF-8</uriEncoding>

                    <finalName>springmvc</finalName>

                    <server>tomcat7</server>

                </configuration>

            </plugin>

        </plugins>

        <finalName>springmvc</finalName>

    </build>

</project>

 

springMVC依赖的jar包如下:

springMVC笔记(一)

一、配置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>Archetype Created Web Application</display-name>

  

  <context-param>

        <param-name>contextConfigLocation</param-name>

        <param-value>/WEB-INF/root-context.xml</param-value>

    </context-param>

    <servlet>

        <servlet-name>dispatcher</servlet-name>

        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <init-param>

            <param-name>contextConfigLocation</param-name>

            <param-value>/WEB-INF/mvc-context.xml</param-value>

        </init-param>

        <load-on-startup>1</load-on-startup>

    </servlet>

    <servlet-mapping>

        <servlet-name>dispatcher</servlet-name>

        <url-pattern>/</url-pattern>

    </servlet-mapping>

    <listener>

        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    </listener>

</web-app>

 

二、mvc-context.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:p="http://www.springframework.org/schema/p"

    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/context

        http://www.springframework.org/schema/context/spring-context.xsd

        http://www.springframework.org/schema/mvc

        http://www.springframework.org/schema/mvc/spring-mvc.xsd">



    <context:component-scan base-package="com.springmvc.demo.controller" />

    <mvc:annotation-driven />

    <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" /> -->

    <!-- <mvc:default-servlet-handler/> -->

    

    <mvc:resources location="/resource/images/" mapping="/images/**" />

    

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />

        <property name="prefix" value="/" />

        <property name="suffix" value=".jsp" />

    </bean>

</beans>

 

说明:

<context:component-scan base-package="com.springmvc.demo.controller" />是将controller让spring去扫描这个包下的@Controller注解的bean,交给spring上下文去管理(依赖注入)。
<mvc:annotation-driven />这句话其实做了很多事,它注册了下面这些特殊用途的bean:
  1. RequestMappingHandlerMapping处理controller内的@RequestMapping注解,将请求url映射为相应的controller内的方法
  2. BeanNameUrlHandlerMapping 将请求url映射为bean的name 
  3. RequestMappingHandlerAdapter 负责调用controller相应的方法并处理方法的其他注解

还有其他一些bean,在此不列出。

 

新建一controller:

package com.springmvc.demo.controller;



import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.servlet.ModelAndView;



import com.springmvc.demo.model.User;



@Controller

@RequestMapping("/user")

public class UserController {

    

    @RequestMapping("/add")

    public ModelAndView addUser(@RequestParam String username,@RequestParam String password,@RequestParam int id){

        

        ModelAndView mv = new ModelAndView();

        mv.setViewName("hello");

        User u = new User();

        u.setUsername(username);

        u.setPassword(password);

        u.setId(id);

        mv.addObject("user", u);

        

        return mv;

    }



}

 

输入url:http://localhost:8080/springmvc/user/add?username=yang&password=123&id=1234
将跳转到hello.jsp:
<!DOCTYPE html>

<html>

<body>

${user.username},${user.password},${user.id}

</body>

</html>

 

 可以看g以提交的参数。

你可能感兴趣的:(springMVC)