request案例
request主要是面向客户端的请求,这个比response简单,
request的常用方法:
案例一、request案例一 获得客户机信息
request第一部分 获取客户机信息
url和uri的区别?
url是uri的一个子集。
uri可以制定任何路径。
url必须是完整的路径。
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ResponseServlet4 extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
//测试一些客户机数据
System.out.println("uri:"+request.getRequestURI());
System.out.println("url:"+request.getRequestURL());//获得完整的url
System.out.println("querystr:"+request.getRequestURL());//获得请求行中的参数部分
response.setContentType("text/html;charset=utf-8");//编码方式
PrintWriter out=response.getWriter();
out.println("您的ip是:"+request.getRemoteAddr());//得到客户机的ip
out.println("您的客户机完整名是:"+request.getRemoteHost());
out.println("您的请求方式是:"+request.getMethod());
// 获得当前用户访问的资源
String uri=request.getRequestURI();// /myday06/request4
String contextpath=request.getContextPath();// /myday06
out.println("你正在访问的是:"+uri.substring(contextpath.length()));//这句的意思是去掉前面的信息,只保留后面的资源名称
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet(request, response);
}
}
案例二:获取头信息,防止盗链
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ResponseServlet5 extends HttpServlet
{
//防止盗链
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html;charset=utf-8");
//分析原理,头信息referer,得知该次请求来源,判断是否为盗链
String referer=request.getHeader("referer");
if(referer==null||!referer.startsWith("http://localhost"))
{
response.getWriter().println("<h1>盗链资源,可耻!</h1>");
//如果我直接访问我这个servlet,那么一定是盗链,因为referer为null
}else{
response.getWriter().println("<h1>欢迎访问</h1>");
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet(request, response);
}
}
案例三、处理中文乱码
案例三、防止中文乱码
可以提交请求的两种方式
1.使用<form>
执行form的submit,提交form表单。
常用表单元素
<input type=[text | password | radio | checkbox | submit ]>
<select>…<option>
<textarea>
2.使用URL链接
<a href="http://www.163.com?name=abc&password=123"> 点击链接 </a>
这样通过?可以提交参数,&用来分隔多个参数,
效果和<form>的GET方式相同
处理中文乱码
数据非空校验
处理中文乱码
post乱码问题:
setCharacterEncoding //放在getParameter前才有效
get乱码问题:
new String(str.getBytes(“ISO-8859-1”),”utf-8”)
设置tomcat Connector URIEncoding=“utf-8”
- 大小: 61.6 KB
分享到:
相关推荐
Java Web应用开发 19 课堂案例-全面认识request的常用方法.docx 学习资料 复习资料 教学资源
Java Web应用开发 18 课堂案例-使用request对象获取简单表单信息.docx 学习资料 复习资料 教学资源
String getContextPath() ---web应用的名称 String getQueryString() ---- get提交url地址后的参数字符串 username=zhangsan&password=123 注意:request获得客户机(客户端)的一些信息 request.getRemoteAddr() -...
一、引用命名空间 <... ... 二、输出内容 ... ${param.x} 返回名为x 的 request参数。(可能有多个值) ${session.x} 返回名为x的Session参数。 ${application.x} 返回名为 servlet context 的参数。
使用Eclipse编写Servlet; Request与Response初步
请求回复一个简单的应用程序,用于使用Azure Service Bus显示案例请求答复模式。
在第二个教程中,我们将解读分析一个更完整的应用程序,以强化你对Phalcon的理解,INVO是我们已经创建了的作为示例程序的应用程序之一。你可以从 Github 获得INVO的全部代码。 此外还需要说明的是,INVO的html实现...
爬虫系统概述和基本原理 爬虫系统的定义和作用 爬虫系统的基本工作流程和组成部分 ...实际案例分析和项目实践 实际爬虫系统的设计和实现 爬虫系统的性能优化和调试技巧 爬虫项目开发流程和实践经验分享
Servlet容器会负责监听端口消息并映射为Request/Response对象,然后交给Servlet实例去处理。SpringMVC框架的作用核心就是Servlet实例,这个实例在Spring中默认是DispatcherServlet,DispatcherServlet中使用众多...
爬虫系统概述和基本原理 爬虫系统的定义和作用 爬虫系统的基本工作流程和组成部分 ...实际案例分析和项目实践 实际爬虫系统的设计和实现 爬虫系统的性能优化和调试技巧 爬虫项目开发流程和实践经验分享
项目用例,一个简单的“翻译器应用程序”,用户可以在其中存储配对翻译(请参见下面的示例)并检索它们。 作为用户,我希望能够存储多种语言组合的翻译。 STORE-REQUEST{DE(Hund)->EN(dog)} -> RESPONSE{OK} 作为...
案例 DevOps案例 虚拟服务 此存储库中有2个服务。 两者都有一个关于如何在UNIX上运行的目标... REQUEST_TIMEOUT(请求超时(以秒为单位)) IDLE_TIMEOUT(请求的空闲超时时间,以秒为单位) 在python-service文件夹
接下来通过一个用户注册案例,来演示POJO类型数据的绑定的使用: 注册页面填写信息,并单击“注册”按钮。 //...省略向用户注册页面跳转方法 @RequestMapping("/... } <body> ${pageContext.request.contextPath }/reg
2014/12/21 星期日 java web之request/respone 2014/12/22 星期一 2014/12/23 星期二 Cookie/session 2014/12/24 星期三 jsp/EL表达式/EL函数 2014/12/25 星期四 2014/12/26 星期五 自定义标签/JSTL标签库/web国际...
│ ├<07 -Request和Respons> │ ├和Session> │ ├,EL和JSTL> │ ├综合案例(用户信息)> │ ├和Listener> │ ├ │ ├和JSON> │ ├ │ ├基础> │ ├旅游网> │ ├ │ └ ├<阶段3.1 Mybatis·> │ ├课程介绍及...
4.1.2 Request对象应用 66 4.2 Response响应对象 69 4.2.1 response简介 69 4.2.2 Response对象应用 70 4.3 Out输出对象 74 4.3.1 Out简介 74 4.3.2 Out对象应用 76 4.4 PageContext对象 77 4.4.1 PageContext简介 ...
拥有众多的优秀功能和特性,经历了三年多发展的同时,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和 改进,众多的典型案例确保可以稳定用于商业以及门户级的开发。 ThinkPHP借鉴了国外很多优秀的...
隐藏表单案例-index.jsp 把id写进Hidden表单里,用户看 不见,但是只要表单一提交, 这个参数值就可以提交给a.jsp 隐藏表单 VS URL重写 同重写URL技术相比,隐藏表单技术是利用表单来传递会话信息,而URL重写技术是...
第二节 request对象 第三节 response对象 第四节 session对象 第五节 application对象 第六节 out对象 第七节 exception对象 实训 习题 第四章ccjsp中使用数据库 第一节 jdbc技术的工作...
该行导入了Spark get request方法,该方法允许我们发出HTTP get请求。 import static spark.Spark.get; 这行代码创建了HelloWorld类,它是应用程序的基本控制器。 public class HelloWorld { 该行创建了处理所有...