1.out 输出对象
out.print(“hello world”);
PrintWriter out = response.getWriter();//在servlet中用out对象
out.println(name);
在idea中这句话可能会标红,但是可以运行出来,暂未解决
2.PageContext对象
本页面内有效
3.request 请求对象
存储客户端向服务端发送的请求信息
常见方法:
String getParameter(String name):根据请求的字段名key,返回字段值value
String[] getParameterValues(String name):根据请求的字段名key,返回多个字段value(checkbox)返回值为数组
Void setCharacterEncoding(“编码格式UTF-8”):设置请求的编码(request的编码)
getRequestDispatcher (“b.jsp”).forward(request,response):请求转发,跳转页面
4.servletContext对象(application)
(1)全局变量,同一个项目可以访问
ServletContext servletcontext=this.getServletContext();//在servlet中声明和赋值servletcontext对象
servletcontext.setAttribute("name","zf");
String name=(String) servletcontext.getAttribute("name");
(2)可以在web.xml中写一些属性和属性值,由servletcontext去访问(因为servlcontext是全局的,所以整个项目都可以访问到这个属性),
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<context-param>
<param-name>name</param-name>
<param-value>ff</param-value>
</context-param>
<context-param>
<param-name>nameF</param-name>
<param-value>ff</param-value>
</context-param>
</web-app>
servlet:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
PrintWriter out = response.getWriter();
ServletContext servletcontext=this.getServletContext();//在servlet中使用servletcontext对象
Enumeration<String> parameterames= servletcontext.getInitParameterNames();//获取context-param标签的param-name信息
out.println(parameterames.hasMoreElements());
while (parameterames.hasMoreElements())
{String name=parameterames.nextElement();
String value=servletcontext.getInitParameter(name);
}
(3)通过servletcontext可以访问项目中的一些配置文件
5.response对象
提供的方法
void addCookie (Cookie cookie);服务端向客户端增加cookie对象
void sendRedirect(string location)throws IOException:页面重定向
void setContetType(string type):设置服务端响应的编码(设置服务端的content)
6.session
(存在于服务端)中文名叫会话
客户端第一次请求服务端时,服务端会创建一个session对象(用于保存该客户信息),每个session里都有唯一一个sessionID(用于区别其他session),response将页面返回时,自动返回一个cookie,cookie里自动有个jesssionID属性,他的值是等于sessionID的。因此,客户端的cookie就可以和服务端的session一一对应(jessionid-sessionid)
第二次访问(客户端第二次请求服务端)时:服务端会先用客户端的cookie中的jsessionid去服务端的session中匹配sessionid,如果匹配到了就不需要登录了。
方法:
String getid();获取sessionid
Boolean isNew()判断是否是新用户
Void invalidate()使session失效(退出登录、注销)
Void setMaxInactiveInterval(秒):设置最大有效非活动时间
Int getMaxInactiveInterval()获得最大有效非活动时间(就是人离开,不动网页开始计时的时间)
7.Cookie
(客户端,不是内置对象,需要用new来生成):cookie是由服务端产生的,再发送给客户端保存。
相当于本地缓存,我在一个网站内输了用户名和密码,在一段时间内第二次访问这个页面,就不需要账号输密码了
可以提高二次访问效率,但是安全性差(可以存用户名和密码)。
8.config
获取配置信息
9.exception
页面错误时使用这个对象