1.Servlet
1.1创建servlet
创建一个类,继承HttpServlet类,并覆写doGet()/doPost()方法
HttpServletRequest request 代表了客户端向服务器发送过去的请求对象
HttpServletResponse response 代表了服务器向客户端发送回来的响应对象
response.setContentType(“text/html;charset=utf-8”); 设置返回的类型和字符编码
类型有好多,在TomCat的安装路径下,conf/web.xml里面
response.getWriter().println();向页面输出内容
1、out.write()是字节输出流的方法,重载只能输出字符、字符数组等字符相关数据
2、out.print()/out.println()是字符输出流的方法,重载将各种类型数据转换成字符串的形式输出
3、如果字符串对象的值为null,print方法将输出null、write方法抛出NullPointerException异常
1.2 添加映射关系
在web.xml中 添加映射关系
** servlet注册** servlet-name:名字 servlet-class:指定类全名
servlet-mapping映射 servlet-name:名字 url-pattern:页面请求名 /hello
在类上端:@WebServlet("/XX")
2.生命周期
1.执行构造方法、用来创建Servlet对象
2 执行init()方法做初始化操作 1次
3 执行service()/doGet()/doPost()方法处理真正的逻辑操作和数据交互 n次
4 执行destroy()方法进行资源释放和销毁 1次
3.request
3.1 request对象和response对象的原理
- request和response对象是由服务器创建的。我们来使用它们
- request对象是来获取请求消息,response对象是来设置响应消息
3.2 request功能
String getParameter(String name):根据参数名称获取参数值
String[] getParameterValues(String name):获取参数值的数组
共享数据:
- void setAttribute(String name,Object obj):存储数据
- Object getAttitude(String name):通过键获取值
- void removeAttribute(String name):通过键移除键值对
3.3 作用域
3.3.1 Request
request中保存一个数据,当前请求结束前有效
Integer value=(Integer ) requset.getAttribute(“value”);
3.3.2 session
当前会话有效,默认一次会话就是打开浏览器一直到浏览器关闭
也可以指定session的过期时间
HttpSession session =requset.getSession();
Integer value=(Integer )session.getAttribute(“value”);
3.3.3 ServletContext
全局作用域,一般叫application ,只要服务器没关闭,数据一直有效
ServletContext application =request.getServletContest();
Integer value=(Integer )application .getAttribute(“value”);
4.初始化参数
当碰到硬代码问题时,可以把数据保存到xml中,后续直接改XML
4.1局部初始化参数
初始化参数,只能让该servlet使用
< init-param >
< param-name>name< /param-name>
< param-value>root< /param-value>
< /init-param >
servlet中由servletConfig对象获取:servletConfig.getlnitParameter(“name”);
4.2 全局初始化参数
所有的servlet都可以获取
< context-param>
< param-name>Encoding< /param-name>
< param-value>UTF-8< /param-value>
< /context-param>
所有servlet中由servletContext获取