Spring: Springmvc
跳转:
接收参数:
乱码:
web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <!--解决乱码filter--> <filter> <filter-name>charset</filter-name> <!--<filter-class>io.oar.filter.CharacterEncodingFilter</filter-class>--> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>charset</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--配置Spring MVC核心servlet--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--配置spring MVC配置文件位置--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:/springmvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <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:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--开启注解扫描--> <context:component-scan base-package="io.oar.controller"/> <!--配置处理器映射器--> <!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>--> <!--配置处理器适配器--> <!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>--> <mvc:annotation-driven/> <!--配置视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"/> <property name="suffix" value=".jsp"/> </bean> </beans>
Forward and Redirect
package io.oar.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("forwardAndRedirect") public class ForwardAndRedirectController{ /** * controller跳转到jsp页面默认forward跳转 */ @RequestMapping(value = {"test"}) public String test(){ System.out.println("test"); return "index"; } /** * return "redirect:/index.jsp return "redirect:视图全名" * redirect跳转不经过视图解析器 */ @RequestMapping("test1") public String test1(){ System.out.println("test1"); return "redirect:/index.jsp"; } /** * forward跳转到相同controller类中不同方法 地址栏不变 * return "forward:/@RequestMapping的路径(类)/@RequestMapping的路径(方法) */ @RequestMapping("test2") public String test2(){ System.out.println("test2"); return "forward:/forwardAndRedirect/test"; } /** * redirect跳转到相同controller类中不同方法 地址栏改变 * return "forward:/@RequestMapping的路径(类)/@RequestMapping的路径(方法) */ @RequestMapping("test3") public String test3(){ System.out.println("test3"); return "redirect:/forwardAndRedirect/test"; } /** * 跳转到不同controller类 * forward: redirect: */ @RequestMapping("test4") public String test4(){ System.out.println("test4"); return "forward:/hello/hello"; } @RequestMapping("test5") public String test5(){ System.out.println("test5"); return "redirect:/hello/hello"; } }
Parameter
package io.oar.controller; import io.oar.entity.User; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import java.util.Date; @Controller @RequestMapping(value = {"param"}) public class ParamController{ /** * Date yyyy/M/D H:M:S */ @RequestMapping("beam") public String beam(String name, Integer age, Double price, Boolean sex, Date birthday){ System.out.println("name = " + name); System.out.println("age = " + age); System.out.println("price = " + price); System.out.println("sex = " + sex); System.out.println("birthday = " + birthday); return "index"; } /** * object 类型参数 name会同时被赋值 */ @RequestMapping("beam1") public String beam1(User user, String name){ System.out.println("user = " + user); System.out.println("name = " + name); return "index"; } /** * 数组参数 */ @RequestMapping("beam2") public String beam2(String[] b){ for(String s : b){ System.out.println("s = " + s); } return "index"; } /** * 集合 必须放到对象属性 */ @RequestMapping("beam3") public String beam3(User user){ System.out.println("user.getB() = " + user.getB()); return "index"; } // public String beam3(List<String> b){ // b.forEach(s-> System.out.println("s: "+s)); // return "index"; // } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-04-14 mysqldumpslow