Service方法
servletRequest:获取用户请求,(浏览器发送请求会生成相应的请求头)可以通过request获取请求头中的所有信息
servletResponse:响应对象
如:发送一个请求 localhost:1234/servlet01/hello?name=zhangsan
获取请求
servletRequest.getParameter(String name);//根据请求参数的名获取对应的值
String name = servletRequest.getParameter(name);
System.out.println(name);//输出 zhangsan
设置响应(需要先响应编码格式)
servletResponse.setContentType(“text/heml;charset=utf-8”)
输出到浏览器上
servletResponse.getWriter().write(“我的姓名是:”+name);
每次调用都要去调用service方法,而且每次请求不一样,所以每次都要重写service方法,所以将service定义成abstract 抽象方法(只有方法的定义,没有方法体;一个抽象方法所在的类,必须是抽象类)
ServletConfig接口
构造方法可以初始化,却又定义了一个init方法用来初始化
二者区别:init中有参数servletConfig,
ServletConfig
:代表的是当前servlet,就可以通过这个接口的方法获取当前servlet的所有信息,包括配置信息(如获取servlet的注册名)相当于局部变量
包含的方法
getServletName() 获取当前Servlet的注册名
getServletContext() 获取代表当前web应用的servletContext对象
getInitParameter(String)获取当前servlet指定名称的初始化参数的值
getInitParameterNames()获取当前servlet所有初始化参数的名字组成的枚举。
将config变成全局变量
定义一个模板类实现servlet接口和servletConfig接口,重写里面的方法
Private ServletConfig config;在初始化同时给全局变量config赋值
this.config =servletConfig;
ServletContext
:代表当前web应用 就相当于一个全局变量,这个全局变量可
以被当前web应用下的所有文件共享 作用:数据共享
服务器开始就存在,服务器关闭才释放,一个web项目就存在一个ServletContext对象
四大域对象(都可以做数据共享):ServletContext(application),session,(一次会话中共享)request(同一次请求),PageContext
获取方法:
ServletConfig的getServletContext()方法
GenericServlet的getServletContext()方法
Context包含的方法
获取真实路径(磁盘上的路径F:…)getRealPath()
获取项目应用上下文(根目录 localhost:8080/servlet01/)getContextPath()
域对象的通用方法
setAttribute (String name,Object value)根据名字(名字唯一),往域对象存值(页面、servlet之间可以共享这个值 比如页面访问记录)
getAttribute(String)根据名字查值
removeAttribute(String)根据名字删除