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 ...
随机推荐
- CentOS 8 安装 VirtualBox 增强功能
环境介绍 Machine: NUC8i5BEK OS: macOS Catalina 10.15.6 VirtualBox: 6.1.12 r139181 (Qt5.6.3) CentOS: 8.2. ...
- vue 游戏手柄使用
直接上代码. <template> <div class="home"> </div> </template> <script ...
- C++练习案例1.计算机类(利用多态实现)
c++简单计算机类 简介 大家好,这里是天天like的博客,这是我发的第一篇随笔,用来记录我的学习日程,大家可以相互学习,多多交流,感谢 今天我要记录的随笔是在学习c++多态的知识点练习改进的一个案例 ...
- application x-www-form-urlencoded与JS的encodeURIComponent()
application/x-www-form-urlencoded 表单的enctype属性表示在发送到服务器之前应该如何对表单数据进行编码,默认值是application/x-www-form-ur ...
- 分页查询对象Page
1 public class Page { 2 //当前页码 3 private Integer pageNo = 1; 4 //每页显示条数 5 private Integer pageSize = ...
- NodeJS二进制合并
Node.js 批量文件合并code cnblogs @ Orcim 本 文主要介绍使用 Node 进行 ACB 序列文件(Atom CueSheet Binary,编译 AtomCueSheet ...
- Java date format 时间格式化
import java.util.Date; import java.text.DateFormat; /** * 格式化时间类 * DateFormat.FULL = 0 * DateForma ...
- Communicating to 2 SPI Slaves with USART & SPI ports on Atmega16U2
原文来自:https://www.avrfreaks.net/comment/2236256 I'm writing code for an embedded chip that consists o ...
- springboot利用redis做缓存
首先 配置redis redis: password: 123456 host: 127.0.0.1 port: 6379 #103.249.252.109:10086 expireSeconds: ...
- Windows10系统下wsappx占用CPU资源过高?wsappx是什么?如何关闭wsappx进程?
在Windows10系统开机的时候,wsappx进程占用的CPU资源非常高,导致电脑运行速度缓慢,那么我们如何关闭wsappx进程,让电脑加快运行速度呢?下面就一起来看一下操作的方法吧. [现象] 1 ...