Servlet细节整合
最近在复习Servlet,发现其中有很多细节方面的东西都没有接触到,只是学了大概
1.请求转发和请求重定向的区别
2.输入参数为中文时候的乱码问题
3.Web工程中的目录写法
下面分别阐述
1.请求转发和请求重定向的区别
请求转发:
request.getRequestDispatcher("/test.jsp").forward(request, response);
请求重定向:
response.sendRedirect("/test.jsp");
请求转发是服务器行为,本质上是一次请求,所以参数可以传递
请求重定向是浏览器行为,本质上是俩次请求,由浏览器重新发出的请求去访问页面。因为是新的请求,所以参数不能够传递。
2.输入参数为中文时候的乱码问题
最新版本的tomcat的编码默认为utf-8,所以get处理中文和post一样处理
- 在浏览器端发送请求,调
用request.setCharacterEncoding("UTF-8");来设置服务器接受信息的编码 response.setContentType("text/html;charset=UTF-8");
指定HTTP响应的编码,同时指定了浏览器显示的编码response.setCharacterEncoding("UTF-8");
来设置HTTP响应的编码,如果之前通过response.setContentType("text/html;charset=UTF-8");设置了,则会覆盖之前的设置,所以开发时候只使用上面的方法即可
Web工程中的目录写法
如果"/"是给服务器使用,则代表当前的Web工程
如果"/"是给浏览器使用,则代表Webapps目录
"/"代表的是当前Web工程
this.getServletContext().getRealPath(/index.jsp)
2.在服务器端forward到其他页面
this.getServletContext().getRequestDispatcher("/index.jsp");
3.使用include指令或<jsp:include>引入页面
<%@include file = "/index.jsp"%><jsp:include page = "/index.jsp"%>
"/"代表的是当前webapps目录
1.请求重定向
response.sendRedirect("/blockDemo01/index.jsp");
2.使用超链接跳转
3.form表单提交
4.js脚本和css引用
在JSP页面中获得项目名称(blockDemo01)有俩种方式${pageContext.request.contextPath},<%=request.getContextPath() %>
Servlet细节整合的更多相关文章
- Servlet细节
Servlet细节 线程不安全的做法: * 不要在Servlet中创建成员!创建局部变量即可! * 可以创建无状态成员! * 可以创建有状态的成员,但状态必须为只读的!(不提供set方法) 1.Ser ...
- HTTP协议 Servlet入门 Servlet工作原理和生命周期 Servlet细节 ServletConfig对象
1 HTTP协议特点 1)客户端->服务端(请求request)有三部份 a)请求行--请求行用于描述客户端的请求方式.请求的资源名称,以及使用的HTTP协议版本号 请求行中的GET ...
- 2016-2-1 Servlet细节
Servlet的一些细节(韩顺平老师视频讲解)(1)由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序想要被外界访问,必须把servlet程序映射到一个URL地址上.这个工作在 ...
- Servlet第二篇【Servlet调用图、Servlet细节、ServletConfig、ServletContext】
Servlet的调用图 前面我们已经学过了Servlet的生命周期了,我们根据Servlet的生命周期画出Servlet的调用图加深理解 Servlet的细节 一个已经注册的Servlet可以被多次映 ...
- 2 Servlet 细节
1 Servlet 配置详解 ① 由于客户端在浏览器只能通过URL访问web服务器的资源,所以Servlet程序若想被外界访问,必须把Servlet 程序映射到一个URL 地址上,这个工作在项目we ...
- Servlet细节处理
1.Servlet的线程安全问题 尽管servlet的工作效率高,但是线程也是不安全的,因为一个类型的Servlet只有一个实例对象,那么就有可能会出现一个Servlet同时处理多个请求 解决方案:所 ...
- Servlet技术之——概述、实现、细节、获取资源、ServletConfig、ServletContext
Servlet概述.实现.细节.获取资源.ServletConfig.ServletContext (一) Setvlet基本概述 (1) 什么是Servlet ? Servlet(Server Ap ...
- (四)spring+servlet 整合
一.Spring与Servlet的整合 1.1: 加入Spring的jar包.(要加web.jar包) 1.2: java工程中获取Spring的上下文对象. ApplicationContext c ...
- SpringBoot整合三大组建(Servlet、Listener、Filter)
>[更多资源和教程请关注公众号:**非科班的科班**.如果觉得我写的还可以请给个赞,谢谢大家,你的鼓励是我创作的动力](https://blog.csdn.net/qq_43255017)## ...
随机推荐
- [SinGuLaRiTy] 图论题目复习
[SInGuLaRiTy-1027] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. [Vijos 1423] 最佳路线 题目描述 年久失修的 ...
- 基础线程机制--Executor线程池框架
基础线程机制 Executor线程池框架 1.引入Executor的原因 (1)new Thread()的缺点 每次new Thread()耗费性能 调用new Thread()创建的线程 ...
- 牛客寒假算法基础集训营4 B applese 走方格
链接:https://ac.nowcoder.com/acm/contest/330/B 构造题,但是有两个特判... 1 2 2 1 然后就水了,血亏 #include<stdio.h&g ...
- Django 10 GET和POST(HttpRequest对象,GET和POST请求,文件上传,HttpResponse对象的cookie)
Django 10 GET和POST(HttpRequest对象,GET和POST请求,文件上传,HttpResponse对象的cookie) 一.HttpRequest对象 #HttpRequest ...
- P3272 [SCOI2011]地板(插头DP)
[题面链接] https://www.luogu.org/problemnew/show/P3272 [题目描述] 有一个矩阵,有些点必须放,有些点不能放,用一些L型的图形放满,求方案数 [题解] ( ...
- day32 线程
1. 线程是什么,有了进程为什么还要线程 进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率.很多人就不理解了,既然进程这么优秀,为什么 ...
- Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl"
Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl" 出现如图所示错误,处理办法如下 去nginx解压目录下执行 ./co ...
- WIN10安装SW2012完整破解文件和问题解决Crack
Win10在安装solidword后,激活时有可能报错,本文介绍怎么解决问题 安装后激活报错信息: 一.按下面步骤进行安装 1.相关序列号,记住要断网进行安装 Install SolidWorks 2 ...
- connect to 10.104.11.128 port 9999 (tcp) failed: No route to host
问题: iptables当找到匹配的规则时,就会执行相应的动作,而不会向下继续匹配. 可以看到https没有添加,匹配不到规则,所以就会包错 解决方法: iptables -I INPUT -p tc ...
- ajax 工作原理以及其优缺点
1.什么是AJAX?AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术.它使用:使用XHTML ...