欢迎光临成都祈钰瑶科技有限公司网站!祝您生活愉快!
热线电话: 18982081108
✕

成都服务器托管,成都GPU服务器租用,成都高防BGP宽带租用,成都机柜租用托管

springMVC笔记(一)-创新互联

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

创新互联公司专业为企业提供新北网站建设、新北做网站、新北网站设计、新北网站制作等企业网站建设、网页设计与制作、新北企业网站模板建站服务,十年新北做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

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

<projectxmlns="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包如下:

一、配置web.xml:

<?xml version="1.0" encoding="UTF-8"?><web-appversion="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"?><beansxmlns="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-scanbase-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:resourceslocation="/resource/images/" mapping="/images/**" />    
  <beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver">   <propertyname="viewClass" value="org.springframework.web.servlet.view.JstlView" />   <propertyname="prefix" value="/" />   <propertyname="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以提交的参数。