1.九大内置对象
| 对象 | 说明 |
| request | 请求对象 |
| out | 输出对象 |
| response | 响应对象 |
| application | 应用程序对象 |
| session | 会话对象 |
| pageContext | 页面上下对象 |
| page | 页面对象 |
| config | 配置对象 |
| exception | 异常对象 |
2.四大作用域
| 作用域 | 说明 |
| page | 仅限于当前页面 |
| request | 一次完整的HTTP请求过程 |
| session | 从用户打开浏览器开始,到关闭浏览器或会话过期为止 |
| application | 整个Web应用程序 |
3.内置对象---request
请求对象:request(接受用户参数)
//login.jsp
<form action="/runlogin.jsp" method="post">
用户名:<input type="text" name="uname"><br/>
密码:<input type="text" name="upwd"><br/>
<input type="submit" value="登录">
</form>
//runlogin.jsp 使用request对象接收参数
//单个参数
String uname = request.getParameter("uname");
String upwd = request.getParameter("upwd");
//多个参数
String loves[] = request.getParameterValues("loves");
4.内置对象---response对象
响应对象:response
response.sendRedirect("url");
5.中文乱码
JSP中默认使用的字符编码方式:iso-8859-1,不支持中文。
常见的支持中文的编码方式:
解决方式:
//post 设置请求和响应的编码方式
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//get
new String(变量名.getBytes("iso-8859-1");
get:
配置文件conf文件夹下的server.xml
6.转发与重定向
转发:
RequestDispatcher对象
forward()方法
request.getRequestDispatcher("url").forward(request, response);
重定向:
将用户请求重新定位到一个新的URL。
response.sendRedirect("url");
转发与重定向区别:
1.转发可以携带参数,重定向不可以。
2.转发url没有变化,重定向发生变化。
3.转发不会重新发送请求,重定向会。
4.转发只能跳转当前项目路径,重定向可以跳转任意url。
四大作用域---session对象
session:
一个会话就是浏览器与服务器之间的一次通话。
会话可以在多次请求中保存和使用数据。
public void setAttribute(String name, Object value);
public Object getAttribute(String name);
session的工作方式:
//用于获取当前会话的唯一标识符。
//每个会话在创建时都会分配一个唯一的 ID,这个 ID 可以用来区分不同的用户会话。
public String getId();
//获取会话 ID:来获取会话的唯一标识符。
session.getId();
//获取当前会话:如果当前没有会话,这个方法将创建一个新的会话。
request.getSession();
会话的清除和过期:
//清除session数据设置会话失效
session.invalidate();
//用于从当前会话(session)中移除一个属性。
public void removeAttribute(String name);