一、项目配置
1.建立java web项目
2.导入相关jar包
3.配置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>SpringMVC</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 配置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:springmvc_servlet.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- 编码过滤器 --> <filter> <filter-name>encode</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <!-- 异步 --> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encode</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
4.创建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:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"> <!-- 使用注解方式完成映射 --> <!-- 让扫描spring扫描这个包下所有的类,让标注spring注解的类生效 --> <context:component-scan base-package="com.etc.controller"/> <mvc:annotation-driven/><!-- 开启注解 --> <!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"></property> </bean> </beans>
5.创建Controller
建包com.etc.controller
建类文件HelloController.java
package com.etc.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController { @RequestMapping(value="/welcome") //welcome要访问的url地址 public String hello(){ System.out.println("hello,springmvc"); return "hello"; //hello是逻辑视图名,和后缀名组合一起构成视图名 /web-inf/jsp/hello.jsp } }
6.创建视图
在WEB-INF下创建jsp文件夹,在文件下创建hello.jsp文件
7.在浏览器输入访问地址
http://localhost:8080/SpringMVC/welcome
二、参数传递
1.前台到后台
方法一 http://localhost:8080/SpringMVC/welcome?uname="333"
@RequestMapping(value="/welcome") //welcome要访问的url地址 public String hello(String uname){//此时方法参数与传来参数名称一致 System.out.println("hello,springmvc"+uname); return "hello"; //hello是逻辑视图名,和后缀名组合一起构成视图名 /web-inf/jsp/hello.jsp }
方法二 http://localhost:8080/SpringMVC/welcome2?username="333"
@RequestMapping(value="/welcome2") //welcome要访问的url地址 public String hello2(@RequestParam(value="username",required=false)String uname){ //此时方法参数value="username"与传来参数名称一致,required=false不传参uname为null //required=false不传参出错 System.out.println("hello,springmvc"+uname); return "hello"; //hello是逻辑视图名,和后缀名组合一起构成视图名 /web-inf/jsp/hello.jsp }
2.后台向前台传参
方法一 http://localhost:8080/SpringMVC/welcome3?uname="333"
@RequestMapping(value="/welcome3") public String hello3(String uname,Model model){ System.out.println("页面过来的参数是:"+uname); model.addAttribute("username","张三"); return "hello"; }
前台获取
<body> 后台传递的参数:${username} <br> </body>
方法二 http://localhost:8080/SpringMVC/welcome4?uname="333"
@RequestMapping(value="/welcome4") public String hello4(String uname,Map<String,Object> map){ System.out.println("页面过来的参数是:"+uname); map.put("username","张三"); return "hello"; }
前台同上
方法三 http://localhost:8080/SpringMVC/welcome4?uname="333"
@RequestMapping(value="/welcome5") public ModelAndView hello5(String uname){ ModelAndView mv=new ModelAndView(); Users user=new Users(); user.setId(1); user.setName("李红"); mv.addObject("username",uname); mv.addObject(uname); mv.addObject("user", user); mv.setViewName("hello"); return mv; }
前台
<body> 后台传递的参数:${username} <br> ${string}<br> ${user.name } </body>