文章目录
1. JSP内置对象
内置对象是由Web容器生成、加载的一组类的实例,不需要通过new关键字手动创建
内置对象的名称是JSP中的关键字,不能随便占用
个数:9个
- out – 页面输出
- request – 请求
- response – 响应
- session – 会话
- application – 应用程序
- page – 当前页面
- exception – 异常
- config – 初始化信息
- pageContext – 上下文,提供访问其他隐式对象的方法
- getRequest()
- getResponse()
- getSession()
- getOut()
- setAttribute()
- getAttribute()
2. 表单提交方式 GET vs POST
2.1 Get
- 在地址栏上显示提交的内容,信息不安全
- 表单默认的提交方式
- 允许的最长字符:255
2.2 Post
- 不会在地址栏上显示内容,信息安全,适合发送敏感数据
2.3 使用方式
(1) 表单以POST方式进行提交
(2) 使用request对象接收参数之前,先要设置字符编码
request.setCharacterEncoding(“utf-8”);
(3) 超链接会将传递的参数在地址栏上显示,所有地址栏的内容都以ISO-8859-1的形式进行编码,接收URL传参的方式如下
String name = request.getParameter(“username”);
name = new String(name.getBytes(“iso-8859-1”),”utf-8”);
(4) 使用Filter过滤器进行字符编码统一设置
3. request
-
浏览器提交的服务器的内容
-
常用方法
request.setCharacterEncoding("utf-8"); request.getParameter("username"); request.getParameterValues("hobby"); request.getRemoteAddr(); --获得客户端IP request.setAttribute("msg", "用户名或密码错误!"); request.getAttribute("msg"); request.getRequestDispatcher(“URL”).forward(request,response);
4. response
-
服务器返回给客户端的内容
-
常用方法
response.setCharacterEncoding("utf-8"); response.sendRedirect(“URL”);
5. 请求转发 VS 重定向
5.1 请求转发(常用)
-
由服务器内部实现
-
转发跨越多个页面、Servlet,但是只提交了一个请求,浏览器地址栏路径不变
-
作用:在多个页面、Servlet交互的过程中共享请求数据
request.getRequestDispatcher(“URL”).forward(request,response);
5.2 重定向
- 由浏览器重新发送新的请求,至少提交两次请求
- 之前请求中的数据会丢失,浏览器地址栏显示的是新的URL
- 适用情况:注销、安全退出、用户名或密码错误之后的页面跳转
-
response.sendRedirect(“URL”);