response:
1.设置响应行的状态码: response.setStatus(int sc);
2.设置response缓冲区的编码:response.
setCharacterEncoding(String charset)
(response缓冲区的默认编码是iso8859-1,此码表中没有中文,可以通过response的setCharacterEncoding(String charset)
设置response的编码)
3.页面的转发: request.getRequestDispatcher("/admin/product/list.jsp").forward(request, response);
4.在代码中指定浏览器解析页面的编码方式:response.setContentType("text/html;charset=UTF-8");
5.告知浏览器文件的类型:response.setContentType(文件的MIME类型);
6.告示浏览器文件的打开方式是下载:
response.setHeader("Content-Disposition","attachment;filename=文件名称");
request:
1.获得客户端的请求方式:request.getMethod();
2.获得web应用的名称: request.getContextPath();
3.获得get提交,url后的参数字符串:request.getQueryString();
4
.
获得中文乱码的解决:
post:request.setCharacterEncoding(“UTF-8”);
get:将获得参数的编码从
iso8859-1
改为
utf-8
parameter = new String(parameter.getBytes(“iso8859-1”),”UTF-8”);
5.request完成请求转发:
获得请求转发器----path
是转发的地址
RequestDispatcher
getRequestDispatcher(
String path)
通过转发器对象转发
requestDispathcer.forward(
ServletRequest request,
ServletResponse response)
JSP:
1. pageContext对象:
pageContext可以向指定的其他域中存取数据
setAttribute(String name,Object obj,int scope)
getAttribute(String name,int scope)
removeAttrbute(String name,int scope)
findAttribute(String name) 注意:
依次从pageContext域,request域,session域,application域中获 取属性,在某个域中获取后将不在向后寻找
2. 可以获得其他8大隐式对象:
pageContext.getRequest()
pageContext.getSession()
3.页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中
<%@ include file="被包含的文件地址"%>
el表达式
1. 用el表达式获取当前web应用的名称:
${pageContext.request.contextPath}; //request域中存在一个方法 getcontextPath();
jstl
1.引入jstl标签库:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
取别名:
<c:set var="ctx" value="${pageContext.request.contextPath}" />
2.引入struts2的标签库:
<%@ taglib uri="/struts-tags" prefix="s" %>