目录结构

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>SpringMVC01</display-name><!-- 处理中文乱码 --><filter><filter-name>encodingFilter</filter-name><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>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- SpringMVC控制器 --><servlet><servlet-name>dispatcherServlet</servlet-name><!-- 主要就是DispatcherServlet这个servlet起到分发的作用,对请求进行控制分发 --><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><!-- 每个springmvc项目都要一个springmvc项目配置位置,下面配置springmvc配置文件的路径 --><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/springMVC-servlet.xml</param-value></init-param><!-- 当容器启动时立即启动 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><!-- 下面配置springmvc的过滤分发请求类型,可以是/ 或者*.action等 --><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

springmvc-servlet

<?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.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"><!-- 定义要扫描 controller的包--><context:component-scan base-package="wormday.springmvc.helloworld" /><mvc:default-servlet-handler /><!-- 启动注解驱动 SpringMVC 功能 --><mvc:annotation-driven /><!-- 配置视图解析器 如何把handler 方法返回值解析为实际的物理视图 --><!--指定视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- 视图的路径 --><property name="prefix" value="/WEB-INF/"/><!-- 视图名称后缀  --><property name="suffix" value=".jsp"/></bean></beans>

HIcontroller类

package wormday.springmvc.helloworld;import org.springframework.stereotype.Controller;import org.springframework.ui.Model; // 这里导入了一个Model类import org.springframework.web.bind.annotation.*;@Controller
@RequestMapping("/hi")
public class HiController {@RequestMapping("/say")public String say(Model model) { // 参数中传入Modelmodel.addAttribute("name","wormday"); // 指定Model的值model.addAttribute("url","http://www.cnblogs.com/wormday/p/8435617.html"); // 指定Model的值return "say";}@RequestMapping("/loginForm")public String loginForm(){return "login";}@RequestMapping("/hi")public String loginFor(){return "hi";}@RequestMapping(value = "/login",method = RequestMethod.POST)public String loginXS(String username, String password){System.out.println("执行登录");System.out.println("username"+username);System.out.println("password"+password);return "redirect:hi";}@RequestMapping("/testcase")public String testCookie(@CookieValue("JSESSIONID") String sessionId){System.out.println(sessionId);return "success";}@RequestMapping("/testHeader")public String testHeader(@RequestHeader(value = "User-Agent") String header){System.out.println(header);return "success";}@RequestMapping(value = "/trstram",params = {"username","age!=10"})public String testParam(String username,Integer age){System.out.println(username+" "+age);return "success";}
}

usercontroller类

package wormday.springmvc.helloworld;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;@Controller
@RequestMapping("/hi")
//@RequestMapping("/list")public class UserController {/* @RequestMapping(value = "/list",method = RequestMethod.GET)public String login(String username,String password){System.out.println("方法1:参数直接获取");System.out.println("username:"+username);System.out.println("password:"+password);return "list";}*/@RequestMapping(value = "/list",method = RequestMethod.GET)public String listForm(@RequestParam(value = "currentpage",required = false,defaultValue = "1")Integer currentpage,@RequestParam(value = "pagesize",required = false,defaultValue = "10")Integer pagesize){System.out.println("currentpage"+currentpage);System.out.println("pagesize"+pagesize);return "list";}
}

say.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
hello world,${name}
<br/>${url}</body>
</html>复制代码

login.jsp

<%--Created by IntelliJ IDEA.User: geyaoDate: 2019/11/6Time: 19:57To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<form action="hi" method="post"><label for="username">用户名<input type="text" id="username" name="username"></label><label for="password">密码<input type="text" id="password" name="password"></label><button>登录</button>
</form>
</body>
</html>

hi.jsp

<%--Created by IntelliJ IDEA.User: geyaoDate: 2019/11/6Time: 20:17To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
我是歌谣,登录成功
</body>
</html>

list.jsp

<%--Created by IntelliJ IDEA.User: geyaoDate: 2019/11/6Time: 19:57To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<h1>我是表单</h1></body>
</html>

success.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
成功</body>
</html>

运行结果

spring mvc学习(21):testparam请求参数和请求头表达式相关推荐

  1. Spring MVC 学习总结(五)——校验与文件上传 转自 张果 博客;已经编程校验;正确无误;...

    Spring MVC 学习总结(五)--校验与文件上传 目录 一.Spring MVC验证器Validator 1.1.定义验证器 1.2.执行校验 1.3.在UI中添加错误标签 1.4.测试运行 二 ...

  2. Spring MVC 学习总结(二)——控制器定义与@RequestMapping详解

    Spring MVC 学习总结(二)--控制器定义与@RequestMapping详解 目录 一.控制器定义 1.1.实现接口Controller定义控制器 1.2.使用注解@Controller定义 ...

  3. Spring MVC 学习总结(九)——Spring MVC实现RESTful与JSON(Spring MVC为前端提供服务)...

    Spring MVC 学习总结(九)--Spring MVC实现RESTful与JSON(Spring MVC为前端提供服务) 目录 一.JSON 1.1.概要 1.2.使用ModelAndView ...

  4. Spring MVC 学习笔记一 HelloWorld

    Spring MVC 学习笔记一 HelloWorld Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet ...

  5. Spring MVC 学习总结(一)——MVC概要与环境配置 转载自【张果】博客

    Spring MVC 学习总结(一)--MVC概要与环境配置 目录 一.MVC概要 二.Spring MVC介绍 三.第一个Spring MVC 项目:Hello World 3.1.通过Maven新 ...

  6. Spring MVC 学习笔记 对locale和theme的支持

    Spring MVC 学习笔记 对locale和theme的支持 Locale Spring MVC缺省使用AcceptHeaderLocaleResolver来根据request header中的 ...

  7. Spring MVC竟然有5种参数绑定的方式?你知道几种?

    转载自  Spring MVC竟然有5种参数绑定的方式?你知道几种? SpringMVC参数绑定,简单来说就是将客户端请求的key/value数据绑定到controller方法的形参上,然后就可以在c ...

  8. Spring理论--Spring MVC学习

    2019独角兽企业重金招聘Python工程师标准>>> SpringMVC框架 目录 一:配置springMVC开发环境1.1.配置文件的helloworld1.2.基于注解的hel ...

  9. Spring MVC学习

    出处http://www.cnblogs.com/zhuxiaojie/p/4619804.html SpringMVC框架 转载请注明出处 目录 一:配置springMVC开发环境1.1.配置文件的 ...

  10. Spring MVC学习(8)—HandlerInterceptor处理器拦截器机制全解

    基于最新Spring 5.x,详细介绍了Spring MVC的HandlerInterceptor处理器拦截器机制,以及它的一系列拦截方法. 本次我们来学习Sring MVC的HandlerInter ...

最新文章

  1. python中的用法_Python中使用@的理解
  2. POJ3686 The Windy's 【费用流】*
  3. [LeetCode]Single Number II
  4. nginx location proxy_pass 后面的url 加与不加/的区别
  5. PyTorch 1.0 中文官方教程:使用 PyTorch 进行图像风格转换
  6. XDP: eXpress Data Path
  7. 3.剑指Offer --- 高质量的代码
  8. 右键新建文件夹_教你修改Windows万年不变的黄色文件夹,让文件也不枯燥
  9. WIN10 修改MAC地址
  10. 正运动控制固件升级问题记录
  11. 【蓝牙串口无线烧写程序】适用于STM32F103和STM32F107的Bootloader
  12. 计算机二级数据透视图教程,2019年9月 全国计算机二级 MS Office (Excel 图表和数据透视表)...
  13. jav基础01 jdk jre jvm 与 配置环境变量
  14. java拆弹,CSAPP lab2 二进制拆弹 binary bombs phase_2
  15. git把一个分支的commit merge到另外一个分支
  16. 前端项目review之修改element-ui全局主题颜色配置element-theme-chalk和gulp
  17. __construct 与 __destruct 区别
  18. Python-混合高斯分布(GMM)的应用及K-S检验
  19. Javascript基本内容
  20. 【美图】- 2018届校招在线考试

热门文章

  1. [译]第三章:什么是组织结构
  2. Designer设计无代码工作流
  3. [导入]使用SqlCommand对象执行存储过程
  4. python大纲图_Python课程大纲
  5. 浙江大学计算机学院1702班,测控1702:传道授业解惑 此间师者真情
  6. request重定向_golang不想http自动处理重定向的解决方案
  7. mysql中char,varchar与text类型的区别和选用
  8. 【树莓派学习笔记】九、C语言寄存器操作控制GPIO
  9. 【Mac】tar 打包指定目录并排除某些目录或文件
  10. sockaddr和sockaddr_in的区别