10 Servlet_02 资源跳转(主要是内部转发)与中文乱码问题
总的知识点:
1.小的知识点总结:
alt + shift + r 重命名快捷键(可以给包和类以及项目重命名)
有序列表 ol li 无序列表 ul
type 格式
text 是文本类型
password 是密码口令
submit 递交登陆 这三个都是固定格式
name赋名 value 赋名 placeholder 占位符(只显示,不占位置)
@WebServlet("/register")*///资源路径映射(注意斜杠一定要有)
eg:
<form action="login">
<!--输入框 input 行标签 不能设置宽与高,不独占一行
type 格式,(在这里是选择格式) text 是文本类型 password 是密码,口令 submit 递交登陆 这三个都是固定格式
name赋名 value 赋名 placeholder 占位符(只显示,不占位置)
-->
<input type="text" name="username" placeholder="用户名/邮箱/手机号"><br>
<input type="password" name="password" placeholder><br>
<input type="submit" value="登录" ><br>
<!--超链接 <a> 制定跳转的资源路径href -->
<a href="zuoye.html">忘记密码</a>
</form>
<form> 表单 录入数据,把数据传输给后端服务器
action:执行url动作 请求的资源路径
<input>标记是form表单标记中的一个高频使用的标记
input 标记中type=submit 表达的是 想把from表单中的所有数据打包成from 形式提交给后端服务器
<input> 标签规定了用户可以在其中输入数据的输入字段。
<input> 元素在 <form> 元素中使用,用来声明允许用户输入数据的 input 控件。
输入字段可通过多种方式改变,取决于 type 属性。
如果type=button 那么该按钮就是一个简单的普通按钮,具备鼠标点击的功能
这个是设置欢迎界面首页(在运行tomcat时第一个进入的页面)需要/和.html设置在web--> WEB-INF-->web.xml里面
<welcome-file-list>
welcome-file>/register.html</welcome-file>
</welcome-file-list>
2.资源跳转分为两种: 内部转发和重定项
资源跳转:
第一种:内部转发 属于服务器内部的动作,对于用户来说只请求了一次在服务器内部做了两次操作(服务A请求了服务B)对于用户来说并不知情所以在网址上 --- url并不会改变(地址不会发生改变)编码集UTF-8不管用(所以用GBK),
理解方式:客户端向错误后台发起请求但是后台自动跳转到正确后台并在正确后台发回响应
第二种:重定向 属于浏览器客户端的动作,对于用户来说请求了两次,服务器也给用户响应了两次,所以在网址上 URL会发生改变(地址发生了改变)
理解方式:客户端向错误后端发起请求,错误后端响应客户端并指向正确后端,然后客户端再次向正确后端发起请求,正确后端发起响应。
客户端信息:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="register">
<!--输入框信息-->
<input type="text" name="username" placeholder="用户名"><br>
<input type="text" name="phone" placeholder="手机号"><br>
<input type="text" name="email" placeholder="邮箱"><br>
<input type="password" name="password" placeholder="密码"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
内部接收并响应反馈客户端:
@WebServlet("/register")
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
//提供用户注册服务 http (http请求 - http响应)
//请求:由浏览器客户端向后端服务器发起,有时会携带请求参数
//响应:由后台服务器端向客户端浏览器发起,有时也会携带相应数据
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse)servletResponse;
//设置编码字符集 防止中文乱码 ISO-8859-1 GB2312-->GBK(中国少数民族都有) UTF-8 Unicode
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
//接收客户端传输的参数值 ( request.getParameter("name属性值/参数名称"); )
String username = request.getParameter("username");//用户名
String phone = request.getParameter("phone");
String email = request.getParameter("emeil");
String password = request.getParameter("password");
//回传数据 把后端的数据传输到前段浏览器页面中
//h1-->h6 大标题---》小标题
response.getWriter().write("用户名"+username+"<br>"+//类似输出的意思
"手机号"+phone+"<br>"+
"邮箱"+email+"<br>"+
"密码"+password);
}
10 Servlet_02 资源跳转(主要是内部转发)与中文乱码问题的更多相关文章
- 11 Servlet_03 关键字总结 资源跳转:重定项 键值对 继承类 do-get do-post Request域 Context域 =空针解决方法
知识点总结: 1.java里的关键字: byte short int long 数据类型 (正整数)char 数据类型(单字符型)boolesn ture false 布尔类型float dou ...
- html页面跳转出现中文乱码
一般html的<meta charset="UTF-8">默认都是utf-8的编码格式,直接在网页中打开是正常的,但是有的时候在页面跳转时就会出现中文乱码问题,忘了参考 ...
- 背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件
[源码下载] 背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件 作者 ...
- 背水一战 Windows 10 (9) - 资源: 资源限定符概述, 资源限定符示例
[源码下载] 背水一战 Windows 10 (9) - 资源: 资源限定符概述, 资源限定符示例 作者:webabcd 介绍背水一战 Windows 10 之 资源 资源限定符概述 资源限定符示例 ...
- 关于web项目中的资源跳转
1.跳转包括两种方式: 转发 forward 重定向 redirect 2.两种方式的代码: AServlet类: //向request范围中存储数据 request.setAttribute(&qu ...
- ubuntu 13.10 Rhythmbox不能播放mp3 和中文乱码的问题
1.ubuntu 13.10 Rhythmbox不能播放mp3的解决方法 软件中心搜索(ubuntu额外的版权受限软件)不带括号 2.中文乱码问题解决方法: 终端顺序操作 : 1. sudo ged ...
- java web项目中打开资源文件中文乱码
1 java web项目中经常使用多模块管理.在某一个模块中添加了一些资源文件.但不是启动项目.有时候需要在程序中读取资源文件内容,打包后放到容器中就不能正常运行了.需要将所有资源文件放到启动项目的 ...
- js通过生成临时表单再删除的方式向后台提交数据(模拟ajax的post提交但还要跳转页面不返回数据)以及 struts向前台返回文件下载及防止中文乱码处理
为了避免发送数据中有特殊字符,发送时用 encodeURIComponent 编码 (其实这个 if中是直接通过浏览器下载文件的方法,else是向后台传数据的方法) struts后台Action处理接 ...
- Ubuntu-11.10中 vim和Gedit打开html文件中文乱码问题
解决vim中文乱码方法: 打开/etc/vim/vimrc 添加代码: set fileencodings=utf-8,gb2312,gbk,gb18030 set t ...
随机推荐
- 03 Comments in C Programming C编程中的注释
Comments 注释简介 Let's take a quick break from programming and talk about comments. Comments help progr ...
- Python实现的数据结构与算法之双端队列详解
一.概述 双端队列(deque,全名double-ended queue)是一种具有队列和栈性质的线性数据结构.双端队列也拥有两端:队首(front).队尾(rear),但与队列不同的是,插入操作在两 ...
- 【转载】绕过CDN找到源站的思路
[原文:https://mp.weixin.qq.com/s/8NUvPqEzVjO3XbmCBukUvQ] 绕过CDN的思路 网上有很多绕过CDN的思路,但是存在很多问题,以下是收集并总结的思路.站 ...
- 磁盘 IOPS(每秒读写次数) 的计算方法
一.磁盘 I/O 的概念 I/O 的概念,从字义来理解就是输入输出.操作系统从上层到底层,各个层次之间均存在 I/O.比如,CPU 有 I/O,内存有 I/O, VMM 有 I/O, 底层磁盘上也有 ...
- DVWA渗透测试初级练习
下面的内容是我2020年后半年进行的简单的dvwa的渗透实验,顺序可能会有一些问题,但是内容我一定会搞完整,DVWA渗透环境的windows10配置phpstudy Command Injection ...
- Android 10不能使用uiautomatorviewer定位元素的终极解决方法
Android app 元素定位除了使用Appium Inspector 外,还可以使用Android SDK 里tools中的uiautomatorviewer 工具.但今天打算使用 uiautom ...
- golang 语言的特性
给函数传递参数的时候 map.slice.channel是按引用传递的 同一个变量不能用 := 这种方式创建并赋值两次. 一个包(package)的func .结构体类型变量如果要被外部的包调用.fu ...
- 关于pipeline的一篇转载博文https://www.cnblogs.com/midhillzhou/p/5588958.html
引用自https://www.cnblogs.com/midhillzhou/p/5588958.html 1.pipeline的产生 从一个现象说起,有一家咖啡吧生意特别好,每天来的客人络绎不绝,客 ...
- localhost与127.0.0.1与0.0.0.0
localhost localhost其实是域名,一般系统默认将localhost指向127.0.0.1,但是localhost并不等于127.0.0.1,localhost指向的IP地址是可以配置的 ...
- shell脚本算术运算
自增自减操作 用let命令可以实现自增自减的命令,不需要$符号: #!/bin/bash set -e n=100 let n++ echo $n 还可以实现自增自减指定的值: #!/bin/bash ...