Servlet技术serveletconfig类(配置信息类)HTTP协议HTTPServletRequest类HttpServletResponse类
Servlet技术1)什么是Servlet
Servlet是javaEE规范之一。规范就是接口Servlet是JAVAWEB三大组件之一。(Servlet程序,Fititer过滤器,Listenter监听器)Servlet是运行在服务器上的一个java小程序,它可以接收客服端的请求,获取响应请求
2)实现第一个Servlert程序
编写一个类去实现Servlet接口(一般来使用HttpServlet来实现)实现Service方法,处理请求,并响应数据到web.xml中配置servlet程序的访问路径
qsh_servlet
com.qsh_Servlet
qsh_servlet
/qsh
3)生命周期
执行Servlet构造器方法执行init初始化方法执行service方法知悉destroy销毁方法 serveletconfig类(配置信息类)
1)三大作用
可以获取Servlet程序的别名servlet-name的值获取初始化参数init-param
name 覃圣航asjdlk
获取ServletContext
2)解析serveletconfig类serveltConfig是servlet程序的配置信息类servlet程序默认是第一次访问的时候创建,servletconfig是每个servlet程序创建时,就创建一个对应的servlet对象我们除开在init类中使用servletconfig对象外,还可以在doget或者dopost使用
ServletConfig servletConfig = getServletConfig();
3)ServletContext是什么
它是一个接口,它表示Servlet上下文对象一个web工程,只有一个servleContexxt对象实例servletContext对象是一个域对象,他在部署的时候创建,停止服务器的时候销毁。
作用:获取web.xml中配置上下文参顺context-param
user
root
System.out.println("这个Context的配置对象是:"+servletContext.getInitParameter("user"));
获取当前工程路径,格式/工程路径
System.out.println("当前工程的路径"+servletContext.getContextPath());
获取工程部署后在服务器硬盘的绝对路径
System.out.println("当前磁盘路径"+servletContext.getRealPath("/"));
想map一样存取数据(他的作用范围是整个web工程)
getServletContext().setAttribute("name","覃圣航");
System.out.println(getServletContext().getAttribute("name"));
HTTP协议
1)get请求和post请求
2)响应状态码
1)HttpServletRequest类的作用是什么
每次只要有请求进入TOmcat服务器,Tomcat服务器就会把请求过来的HTTP协议幸喜分析封装到Request对象中。然后传递到service方法(doGet和doPost)中给我们使用。我们可以通过HttpServletRequest对象,获取到所有请求的信息。
2)常用参数
Request解决中文乱码问题: request.setCharacterEncoding("UTF-8");
3)请求转发
关键词:request.getRequestDispatcher("/Servlet02")、 requestDispatcher.forward(request,response);
什么是请求转发?
请求转发是指,服务器收到请求后,从一个资源跳转到另一个资源。
Servlet01
//获取办事材料(获取请求的参数)
String username = request.getParameter("username");
System.out.println("这是柜台一的材料"+username);
//处理完事务,加盖一个印章传到你要转发到的Servlet
request.setAttribute("key","柜台一的章");
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/Servlet02");
//走到你要取的路径requesDispater
requestDispatcher.forward(request,response);
Servlet02
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//查看传过来的办公材料(获取请求的参数)
String username = request.getParameter("username");
System.out.println("在Servlet2(柜台2)中查看参数(材料)"+username);
//查看柜台一是否有盖章
Object key = request.getAttribute("key");
System.out.println("柜台一的章"+key);
//处理自己的业务
System.out.println("Servlet2处理自己的业务");
4)base标签的作用
base标签可以设置当前页面中所有相对路径工作时候,参数路径按照那个经行跳转
avascript
Title
这是a/b的页面
跳转页面


