spring mvc学习(20):RequestHeader(获取请求头中某一部分值)

目录结构

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";}
}

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>

运行结果

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

目录结构 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…

spring mvc学习(22):/textpath/*/helen

目录结构 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…

第一百零五期:5年前,跳槽涨薪,你笑了,5年后,跳槽降薪,你慌了!

去年&#xff0c;我在年度绩效面谈中与某中年技术男就 “从测试转向产品经理” 的这个话题上进行了一些探讨与分析。 作者&#xff1a;王晔倞 图片来自 Pexels 或许是因为分析的角度比较客观、真实&#xff0c;再加上俩人都比较会演戏&#xff0c;我激情&#xff0c;他投入&a…

第一百零六期:长相不讨AI喜欢面试就会挂?全球百万求职者经历AI“看脸”面试

AI不仅会筛选你的简历&#xff0c;还会通过看脸决定你能否通过面试。这不是将来时。全球已有超过一百万求职者&#xff0c;经历过AI面试官的冷酷“凝视”。 作者&#xff1a;鱼羊 本文经AI新媒体量子位&#xff08;公众号ID:QbitAI&#xff09;授权转载&#xff0c;转载请联系…

服务器控件HtmlTable下控件赋值问题

在程序开发过程中&#xff0c;碰到这样的问题&#xff1a; 1<table>2<tr>3<td><asp:DropDownList iddropdownlist1 runatserver></td>4</tr>5</table>在基类页中有如下代码&#xff1a;1foreach(Control pagectl inPage.Controls[1]…

Foundry feats. MultiverseStudio

https://www.foundry.com/news-awards/foundry-jcube-announcement 经过这么多年的过程&#xff0c;本周本产品终于发布了PR&#xff0c;这次是由Foundry独家代理销售。 目前本产品已经在全球第一线的工作室的流程内使用&#xff0c;用来装配无法想象巨大的场景&#xff0c;如果…

第一百零七期:她说,嫁人就选程序员!

又是一年双十一&#xff0c;单身狗们还好吗?想脱单?找个程序猿/程序媛是不错的选择&#xff0c;要不要了解一下? 作者&#xff1a;李二狗 图片来自 Pexels 程序员&#xff0c;已经渐渐成当代相亲市场的一只主力军。甚至可以说是“香饽饽”。 越来越多的妹子&#xff0c;在…

第一百零八期:比较容易理解的Hbase架构全解,10分钟学会,建议收藏

依然是Hadoop组件的讲解&#xff0c;今天说到HBase 架构&#xff0c;都是一字一句打出来的&#xff0c;希望各位转发加关注&#xff0c;会一直给大家写优质的内容。 作者&#xff1a;IT技术管理那些事儿 依然是Hadoop组件的讲解&#xff0c;今天说到HBase 架构&#xff0c;都…

315. Count of Smaller Numbers After Self

文章目录1 题目理解2 暴力解法3 分治法1 题目理解 输入&#xff1a;int[] nums 输出&#xff1a;计数的数组int[] counts 规则&#xff1a;counts[i]表示nums中下标大于i&#xff0c;值小于nums[i]的个数 Example 1: Input: nums [5,2,6,1] Output: [2,1,1,0] Explanation: T…

SQL Server执行计划那些事儿(3)——书签查找

接下来的文章是记录自己曾经的盲点&#xff0c;同时也透漏了自己的发展历程&#xff08;可能发展也算不上&#xff0c;只能说是瞎混&#xff09;。当然&#xff0c;一些盲点也在工作和探究过程中慢慢有些眉目&#xff0c;现在也愿意发扬博客园的奉献精神&#xff0c;拿出来和大…

第一百零九期:双十一光棍节调试一个商城必备功能,Java Springboot开源秒杀系统

秒杀系统在电商系统中是非常重要的&#xff0c;不是因为秒杀这个功能重要&#xff0c;而是因为秒杀提现的是一个系统的并发负载能力。例如阿里巴巴或者京东&#xff0c;每年的双十一的峰值&#xff0c;其实就是下一年的常态&#xff0c;双十一各项技术指标&#xff0c;已经作为…

【名额有限】云开发AI拓展能力等你来体验!

这次来了个超厉害的新能力&#xff01; 人脸智能打马赛克、人脸智能裁剪……各种操作&#xff0c;都能一步到位! 迫不及待想体验&#xff0c;戳链接&#xff1a;https://wj.qq.com/s2/3986990/e0ef/ 还没有搞懂&#xff0c;继续往下看—— 基于云开发&#xff0b;AI人脸检测与分…

第一百一十期:详解SpringBoot应用跨域访问解决方案

说到跨域访问&#xff0c;必须先解释一个名词&#xff1a;同源策略。所谓同源策略就是在浏览器端出于安全考量&#xff0c;向服务端发起请求必须满足&#xff1a;协议相同、Host(ip)相同、端口相同的条件&#xff0c;否则访问将被禁止&#xff0c;该访问也就被称为跨域访问。 …

spring mvc学习(23):eclipse创建Maven项目没有src/main/java并不能新建的问题

eclipse里第一次创建Maven项目时&#xff0c;src/main/java与src/test/java目录都不会出现&#xff0c;这是因为eclipse里的一个默认配置。这两个目录是真实存在的&#xff0c;只是隐藏了。 这时候想要让这两个目录出现&#xff0c;就需要修改以下配置&#xff1a; 右击项目-…

spring mvc学习(24):配置maven环境和创建maven项目(建议收藏,超全超详细)

1本次歌谣就对如何创建一个maven项目做一个详细的讲解&#xff0c;毕竟卡了我三天&#xff0c;久久不能入眠&#xff0c;也搜了网上很多的博客 都没有顺利的解决maven项目的创建。这篇建议大家收藏&#xff0c;总会用到的。不然大家看网上的博客也是一脸懵逼。 2首先工具使用…

Torque2D MIT 实战记录: 塔防进度(1)

前言 Torque2D虽然工具不齐全,而且加入MIT不久,但是有老底在,所以即使是第一版也是非常好用和完善的,这几天准备开发一款塔防类的游戏. :) 熟悉了TorqueScript的用法后,写东西还是很快的. 进度 1. 完成了道具库模块 2. 场景系统 3. 阵营逻辑 4. 攻击系统雏形 截图 效果还不错吧…

第一百一十一期:思考 | 一文说透秒杀系统如何设计

秒杀大家都不陌生。自2011年首次出现以来&#xff0c;无论是双十一购物还是 12306 抢票&#xff0c;秒杀场景已随处可见。简单来说&#xff0c;秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程。从架构视角来看&#xff0c;秒杀系统本质是一个高性能、高一致、高可…

第一百一十二期:96秒100亿!如何抗住双11高并发流量?

今年双 11 全民购物狂欢节进入第十一个年头&#xff0c;1 分 36 秒&#xff0c;交易额冲到 100 亿 !比 2018 年快了近 30 秒&#xff0c;比 2017 年快了近 1 分半!这个速度再次刷新天猫双 11 成交总额破 100 亿的纪录。 作者&#xff1a;邴越 今年双 11 全民购物狂欢节进入第…

第一百一十三期:去伪存真,区块链应用到底能解决什么实际问题?

区块链技术仍然在发展初期&#xff0c;实践应用也停留在试水阶段。就金融等领域而言&#xff0c;区块链究竟意味着什么?今后实践应用的前景何在?在Libra的倒逼下&#xff0c;全球央行数字货币又将如何发展? 作者&#xff1a;第一财经 两周前&#xff0c;区块链成为热词。上…

两种战斗

两种战斗 Written by Allen Lee 战斗分两种&#xff0c;我们一定要把它们分开&#xff0c;就是为了维持生命的战斗&#xff0c;和为了维持自尊的战斗。 如果你无法分清的话&#xff0c;要么你将致使他失去生命。要么你将致使他失去自尊。“你要是现在去帮忙的话&#xff0c;或…