request相关
获取参数方法:
request.getParameter(): 是常见的方法,用于获取单值的参数
request.getParameterValues(): 用于获取具有多值的参数,比如注册时候提交的 “hobies”,可以是多选的。
request.getParameterMap(): 用于遍历所有的参数,并返回Map类型。
其他常见方法:
request.getRequestURL(): 浏览器发出请求时的完整URL,包括协议 主机名 端口(端口存在情况)(http://127.0.01:8080/login)
request.getRequestURI(): 浏览器发出请求的资源名部分,去掉了协议和主机名(/login)
request.getQueryString(): 请求行中的参数部分,只能显示以get方式发出的参数,post方式的看不到
request.getRemoteAddr(): 浏览器所处于的客户机的IP地址
request.getRemoteHost(): 浏览器所处于的客户机的主机名
request.getRemotePort(): 浏览器所处于的客户机使用的网络端口
request.getLocalAddr(): 服务器的IP地址
request.getLocalName(): 服务器的主机名
request.getMethod(): 得到客户机请求方式一般是GET或者POST
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<% String basePath = request.getScheme() + "://"+request.getServerName()+ ":" +
request.getServerPort() + request.getContextPath() + "/"; %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<base href="<%=basePath %>">
<title>Insert title here</title>
<script type="text/javascript" src="<%=basePath %>js/index.js"></script>
<script type="text/javascript" src="/web2/js/index.js"></script>
</head>
<body>
<!-- 注释是html的注释
http://localhost:8080/web2/index.jsp 请求地址
请求交给tomcat服务器 tomcat会查找index.jsp 如果存在,解析index.jsp 转换成html文本,然后再返回给浏览器
请求有可能是是https请求
-->
<%
// 编写的java代码
//获取请求协议 request对象 tomcat负责创建对象
String protocol = request.getProtocol();
//如何打印输出变量 只会输出到控制台 不会输出到页面
System.out.println(protocol);
//out对象可以在页面输出
out.write("请求的协议:" + protocol + "<br>");
%>
<%=protocol %>
<%
//获取服务器地址
String serverName = request.getServerName();
out.write("服务器地址:" + serverName + "<br>");
//端口号
int port = request.getServerPort();
out.write("服务器端口:" + port + "<br>");
//上下文路径,项目发布路径
String contextPath = request.getContextPath();
out.write("上下文路径:" + contextPath + "<br>");
//资源路径
String uri = request.getRequestURI();
out.write("uri 路径包括上下文路径 :" + uri + "<br>");
StringBuffer url = request.getRequestURL();
out.write("url 是请求地址的一个完整路径 :" + url + "<br>");
String scheme = request.getScheme();
out.write("scheme 协议的名称 :" + scheme + "<br>");
//远程请求的ip 访问者的ip地址
String addr = request.getRemoteAddr();
out.write("访问者的ip地址 :" + addr + "<br>");
String host = request.getRemoteHost();
System.out.println(host);
//访问者的ip地址 :0:0:0:0:0:0:0:1
//访问者的ip地址 :50918
int port2 = request.getRemotePort();
out.write("访问者的主机地址 :" + host + "<br>");
out.write("访问者的端口 :" + port2 + "<br>");
%>
<!-- 输出jsp的变量 -->
<%-- jsp的注释 --%>
<%--
<%=protocol %>
--%>
<a href="regUI.jsp">注册</a> <br>
<a href="WEB-INF/testWeb-inf.jsp">访问WEB-INF路径下的资源,是不允许直接访问</a> <br>
<a href="mid.jsp">通过jsp去访问放在WEB-INF路径下的资源</a> <br>
</body>
</html>
response相关
1.设置响应内容
PrintWriter writer = response.getWriter();
writer.write("result");
writer.flush();
writer.close();
通过response.getWriter(); 获取一个PrintWriter 对象
可以使用println(),append(),write(),format()等等方法设置返回给浏览器的html内容。
2.设置响格式和编码
需要在response.getWriter调用之前执行才能生效。
response.setContentType("text/html; charset=UTF-8");
总结篇:servlet总结