什么是Servlet?
Servlet简单来说就是在服务器端运行的java程序,可以接收用户请求,并给予响应。
首先给大家介绍两个Servlet内置的对象也是最重要的两个对象:
1.request(请求)
2.response(响应)
以下是它两常用的方法
//处理响应乱码
//1.给响应对象设置字符集
response.setCharacterEncoding("utf-8");
//2.设置响应格式
response.setContentType("text/html;charset=utf-8");
//3.响应流对象
PrintWriter out = response.getWriter();
request(请求常用方法):
String getParameter ( String name ) 根据name名获取value值
String[ ] getParameterValues (String name ) 根据name名获取多个value值(用于多选)
RequestDispatcher getRequestDispatcher( String path ) 转发当前的request和response
void setAttribute (String name, Object object ) 给当前request对象赋值
Object getAttribute ( String name )根据name名获取request里传的对象
void removeAttribute (String name) 清空request里的对象
getRequestDispatcher( String path ) .forward(request, response);转发当前的request和response
Cookie[ ] getCookies( ) 获取多个Cookie
第一次请求时创建Session对象
HttpSession getSession() 获取当前Session对象
Session对象方法
void setAttribute(String key, Object value) 给当前Session赋值
Object getAttribute(String key) 根据K获取Value值
void removeAttribute(String key) 删除该Session对象内的值
void invalidate() 让Session对象失效
四种让Session结束的方法
1.关闭浏览器
2.关闭服务器
3.Session超时
4.使用invalidate()方法
response(响应)常用方法 :
重定向 可以进行跳转
void sendRedirect(String location) 给指定location响应一个url
void addCookie ( Cookie cookie ) 增加一个Cookie
PrintWriter getWriter ( )
Servlet一共有三种传值方式如下:
1.//获取ServletContext 容器对象
ServletContext sc = request.getServletContext();
/赋值 键值对
sc.setAttribute("username", name);
ServletContext sc = request.getServletContext();
//根据K获取value
Object name = sc.getAttribute("username");
2.转发
Request.getRequestDispatcher( String path ) .forward(request, response);转发当前的request和response
3.Session
Request
Cookie[ ] getCookies( ) 获取多个Cookie
Response
void addCookie ( Cookie cookie ) 增加一个Cookie