一、springMVC框架介绍
1. 所需储备知识点:
Servlet、jsp、spring框架
2. springMVC主要功能:
在获取多个参数、文件上传、servelt功能单一方面都能有很好的解决办法
SpringMVC工作原理图:
二、springMVC框架的搭建
第一步:导入springMVC的jar包
1. 所需储备知识点:
Servlet、jsp、spring框架
2. springMVC主要功能:
在获取多个参数、文件上传、servelt功能单一方面都能有很好的解决办法
SpringMVC工作原理图:
二、springMVC框架的搭建
第一步:导入springMVC的jar包
下面是项目的目录:
<?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页面 } }