springmvc介绍以及环境搭建

一、springMVC框架介绍
1. 所需储备知识点:
Servlet、jsp、spring框架
2. springMVC主要功能:
在获取多个参数、文件上传、servelt功能单一方面都能有很好的解决办法
SpringMVC工作原理图:
 


二、springMVC框架的搭建
第一步:导入springMVC的jar包

 

下面是项目的目录:


第二步:书写主配置文件:web.xml(先在web.xml中进行配置)

     

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>dt48_springMVC1</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <!-- 配置springMVC的核心控制器类:DispatcherServlet -->
  <servlet>
  	<servlet-name>dispatcherServlet</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     <!-- 因为DispatcherServlet是springmvc的一个核心类,而springmvc.xml是springmvc的一个配置文件,所以将这两者关联起来 
      <init-param>是 初始化参数,<param-name>是名称,<param-value>是值
      在启动DispatcherServlet的时候就会读取springmvc.xml这个配置文件
     -->
  	<init-param>
  		<param-name>contextConfigLocation</param-name>
  		<param-value>classpath:springmvc.xml</param-value>
  	</init-param>
  </servlet>
  <servlet-mapping>
  	<servlet-name>dispatcherServlet</servlet-name>
  	<!-- 表示DispatcherServlet拦截这个项目下的所有资源请求 ,注意这种配置在调用jsp页面的时候很可能会出现404错误,因为dispatcher会拦截所有资源,如果写成*.htm,则表示只是拦截这种形式的请求,具体的拦截在具体项目中进行了解-->
  	<url-pattern>/*</url-pattern>
  </servlet-mapping>
</web-app>

springmvc.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-4.2.xsd 
			http://www.springframework.org/schema/mvc 
			http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd 
			http://www.springframework.org/schema/context 
			http://www.springframework.org/schema/context/spring-context-4.2.xsd ">

	<!-- 配置包扫描 -->
	<context:component-scan base-package="cn.java.controller"></context:component-scan>

	<!-- 加入springMVC特有的注解驱动 -->
	<mvc:annotation-driven></mvc:annotation-driven>
</beans>

User:

package cn.java.entity;

/**
 * Description: <br/>
 * Date: 上午11:17:34 <br/>
 * 
 * @author dingP
 * @version
 * @see
 */
public class User {
    private String username;

    private String password;

    private Integer age;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User [username=" + username + ", password=" + password + ", age=" + age + "]";
    }

}
package cn.java.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import cn.java.entity.User;

/**
 * Description: <br/>
 * Date: 上午11:07:50 <br/>
 * 
 * @author dingP
 * @version
 * @see
 */
//注意,FrontServlet是一个很普通的类,但是在springmvc中加上@Controller之后,这个类就变成了一个servlet
@Controller 
public class FrontController {
	// 为当前方法配置一个对外访问的虚拟路径,比如请求地址中有login.htm时,会执行这个方法
	//如果配置多个虚拟路径要使用{}。
    @RequestMapping(value = { "/login.htm", "a.html", "c.htm" }) 
    public void Login(User user) {
        System.out.println("登录成功");
        System.out.println(user);
    }
/**
 *  method = RequestMethod.POST这个表示这个方法只能处理post请求
 * @param user
 * @return
 */
    @RequestMapping(value = "/regiter.htm", method = RequestMethod.POST)
    public String regiter(User user) {
        System.out.println(user);
        System.out.println("注册成功");
        return "/success.jsp";//转到success.jsp页面
    }

}

















猜你喜欢

转载自blog.csdn.net/qq_26925297/article/details/80100779