Servlet的定义 (server applet):
1
Servlet
是在服务器端运行的
Java
程序(官方定义) 运行在服务器端的小程序
2
可以接收客户端请求并做
出响应
3 servlet就是一个接口,它定义了
Java类被浏览器访问到(被Tomcat识别)的规则
(使得Java程序能够运行在服务器段的规则(接口),需要遵守这个规则,才能被tomcat所识别)
作用:
- 接收用户端发来的请求
- 调用其他java程序来处理请求
- 将处理结果,返回到服务器中
ServletContext
是一个全局的储存信息的空间,服务器开始就存在,服务器关闭才释放。
ServletContext接口
获取
Web
应用上下文,与
Servlet
容器进行通信
外置属性:
setArrribute 设置外部属性 getAttribute 获取外部属性 本来没有
void setAttribute (String name, Object object )
设置名称为name的属性
Object getAttribute (String name )
获取名称为name的属性
String getRealPath (String path )
返回参数所代表目录的真实路径
void removeAttribute (String name)
清除请求中名字为name的属性
String getRealPath (String path ) 返回参数所代表目录的真实路径
代码举例之设置外部属性:
// 2. 获取资源
PrintWriter out = response.getWriter();
ServletContext sc= getServletContext();
// 数据
String username="张三";
sc.setAttribute("un", username);
//响应用户
out.print(sc.getRealPath("/"));
代码举例之获取外部属性:
//2. 获取资源
PrintWriter out = response.getWriter();
ServletContext sc1= getServletContext();
//3获取数据
Object attribute = sc1.getAttribute("un");
//4响应用户 从context容器里面通过kv拿到的attribute输出出去
out.print(attribute);
重要方法列举:
void setCharacterEncoding (String charset ) -
设置请求体的字符编码
response.setCharacterEncoding("utf-8");
String[ ] getParameterValues (String name )
返回指定请求参数的全部值
String getParameter ( String name ) 返回指定请求参数的值
String sname = request.getParameter("sname");
String birthday = request.getParameter("bir");
String ssex = request.getParameter("ssex");
String classid = request.getParameter("classid");
Servelet 生命周期
实例化
实例化 -Servlet 容器创建 Servlet
的实例
初始化
初始化-该容器调用 init ( ServletConfig ) 方法
服务
服务-如果请求 Servlet,则容器调用
service()
方法
请求-销毁实例之前调用 destroy() 方法
重要方法:
init 创建时调用一次
service 每次被调用时执行
destory 正常结束时执行一次