技术标签: java Eclipse Servlet HTML
url 是一种特殊的uri, url相当于是uri的子类
【示例】
创建一个Request2Servlet.java文件
(含注释)
package com.flying.servlet;
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 Request2Servlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
// 获取方法的名称
String method = request.getMethod();
System.out.println(method);
// 获取服务器端口
int port = request.getLocalPort();
System.out.println(port);
// 获取请求地址
String remoteAddr = request.getRemoteAddr();
System.out.println(remoteAddr);
// 获取协议
String protocol = request.getProtocol();
System.out.println(protocol);
// 获取url
StringBuffer url = request.getRequestURL();
System.out.println(url);
// 获取uri
String uri = request.getRequestURI();
System.out.println(uri);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
<servlet>
<description></description>
<display-name>request2</display-name>
<servlet-name>request2</servlet-name>
<servlet-class>com.flying.servlet.Request2Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>request2</servlet-name>
<url-pattern>/request2</url-pattern>
</servlet-mapping>
控制台显示:
GET
8080
0:0:0:0:0:0:0:1 【注释:我的电脑是ipv6协议】
HTTP/1.1
http://localhost:8080/servlet/request2
/servlet/request2
【2:request获取头信息】
注意:浏览器不同,请求头信息也各有不同。
常用方法:
getHeader(name)方法 --- String :
通过头信息中key,获取请求头的指定的内容。
getHeaderNames()方法:
返回的内容是请求头中的key的枚举类型,遍历之后可以获取所有请求头的信息。
【示例】
获取请求相关头信息
创建Request3Servlet.java
package com.flying.servlet;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Request3Servlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
// 获取浏览器类型
String agent = request.getHeader("user-agent");
System.out.println(agent);
// 获取主机
String host = request.getHeader("host");
System.out.println(host);
// 获取所有请求头的信息
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String key = (String) headerNames.nextElement();
String value = request.getHeader(key);
System.out.println(key + "..." + value);
}
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
<servlet>
<description></description>
<display-name>request3</display-name>
<servlet-name>request3</servlet-name>
<servlet-class>com.flying.servlet.Request3Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>request3</servlet-name>
<url-pattern>/request3</url-pattern>
</servlet-mapping>
在浏览器访问:http://localhost:8080/servlet/request3 回车
控制台显示:
Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Request最重要的功能就是用来获取请求数据。
常用方法:
getParameter(String name)
getParameterMap()
getParameterValues(String name)
getParameterNames()
【示例】
需求:通过一个表单提交数据,然后由servlet获取所有表单提交的参数。
新建一个Request4Servlet.java
package com.flying.servlet;
import java.io.IOException;
import java.util.Arrays;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Request4Servlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
Map<String, String[]> map = request.getParameterMap();
Set<Entry<String, String[]>> entrySet = map.entrySet();
for (Entry<String, String[]> entry : entrySet) {
String key = entry.getKey();
String[] value = entry.getValue();
System.out.println(key + "..." + Arrays.toString(value));
}
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
【web.xml中的配置修改】
<servlet>
<description></description>
<display-name>request4</display-name>
<servlet-name>request4</servlet-name>
<servlet-class>com.flying.servlet.Request4Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>request4</servlet-name>
<url-pattern>/request4</url-pattern>
</servlet-mapping>
body内的内容如下
<form action="/servlet/request4" method="get">
用户名:<input type="text" name="username"/><br/>
性别:<input type="radio" name="sex" value="male"/>男
<input type="radio" name="sex" value="female"/>女<br/>
兴趣爱好:<input type="checkbox" name="hobby" value="shuijiao"/>睡觉
<input type="checkbox" name="hobby" value="shangwang"/>上网
<input type="checkbox" name="hobby" value="jianshen"/>健身
<input type="checkbox" name="hobby" value="lvyou"/>旅游
<br/>
<input type="submit" value="提交"/>
</form>
在浏览器访问:http://localhost:8080/servlet/register.html 回车
用户名填写:lisi(中文会出现控制台乱码)
性别选择:男
兴趣爱好全打钩
然后点击:提交
控制台显示:
username...[lisi]
sex...[male]
hobby...[shuijiao, shangwang, jianshen, lvyou]
import urllib2import jsondef get_all_switches(): url = "http://127.0.0.1:8080/v1.0/topology/switches" req = urllib2.Request(url) res_data = urllib2.urlopen(req) res = res_data.read()
初次想投 EI 会议的论文小白观看。EI会议认可度如何,如何搜索有哪些 EI 会议,如何查看会议是否被 EI 收录,EI会议对你你的稿件有几种申请状态
有些时候一个对象会在多个场景使用,不同场景对该对象中的参数校验需求不同,即有些场景不对参数进行校验。比如注册时,我们要填写出生日期参数,但是登录时并不需要该参数所以在校验中引入分组的概念参考文章(分组校验&自定义校验)...
____tz_zs此函数为图像生成单个随机变形的边界框。函数输出的是可用于裁剪原始图像的单个边框。返回值为3个张量:begin,size和 bboxes。前2个张量用于 tf.slice 剪裁图像。后者可以用于 tf.image.draw_bounding_boxes 函数来画出边界框。sample_distorted_bounding_box( image_size,
文章目录属性描述版本cursor规定要显示的光标的类型(形状)CSS2opacity设置一个元素的透明度级别CSS3content与 :before 以及 :after 伪元素配合使用,来插入生成内容CSS2counter-increment递增或递减一个或多个计数器CSS2counter-reset创建或重置一个或多个计数器CS...
先看下效果实现步骤1.先引入uview ui,不会的可以看下我另外一篇文章,写的很详细uniapp 中uview-ui的使用教程https://blog.csdn.net/hu104160112/article/details/120076812?spm=1001.2014.3001.55012.创建tabbar 组件及页面3.pages.json文件中配置{ "easycom": { "autoscan": true, "custom": { "^uni-(.*)":
使用dbms_metadata.get_ddl遇到ORA-31603建了一个外部表,想看看这个表的信息,一查就报错了:SQL> select dbms_metadata.get_ddl('TABLE','ext_case1') from dual;ERROR:ORA-31603: object "ext_case1" of type TABLE not found
在项目中,很多都有购物车模块,需要添加购物车动效。部分vue代码 <!-- 运动的小球 --> <div id="points"> <div class="pointOuter pointPre"> <div class="point-inner"></div> </div> <div clas
学习java assist本文章仅作学习用依赖和文档添加pom依赖 <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.27.0-GA</version> </dependency>...
前言 HttpClient相比于传统jdk自带的URLConnection,增加了易用性和灵活性,它不仅是客户端发送http请求变得容易,而且也方便了开发人员测试接口,提高了开发的效率。HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。由于公司业务发展,需要...
转自:https://www.cnblogs.com/sky-heaven/p/4800848.html。在linux使用platform_driver_register() 注册 platform_driver 时, 需要在 platform_driver 的probe() 里面知道设备的中断号, 内存地址等资源。这些资源的描述信息存放在 resource 数据结构中, 相同的资源存放在一...
因为官网下载下来的Hadoop安装包是x86,32位的,64位需要自己编译。编译环境操作系统:CentOS 7 64位(需要连接互联网)Hadoop源代码版本:hadoop-2.7.0-src.tar.gz1、安装基本应用[python] view plaincopyyum -y install svn ncurses-devel gcc*