get和post

get:获取服务器的数据

post:提交数据,更新服务器的数据

服务器七种提交方式 会考

资源包实现不同的语言

HttpServlet
service(ServletRequest, ServletResponse)
service(HttpServletRequest, HttpServletResponse) {
    String method = request.getMethod();
    if ("POST".equals(method)) {
        doPost();
    }else if("GET".equals(method)){
        doGet();
    }
}

之后写一个自己的HttpServlet
getCookies() 返回值是 Cookie[]

Cookie

名值对
Cookie中传少量的数据
Cookie设有有效时间

RequestDispatcher

将请求和响应转发给其他的应用程序
forward 转发
include 
AServlet{
    service(request,response){
        //可以处理头信息 不能输出体信息
        reponse.getWriter().println("test");

        RequestDispatcher rd = request.getRequestDispatcher("/b");
        //将请求和响应交给其他的组件来处理
        rd.forward(request,response);
        //forward之前之后就不再处理请求和响应

    }
}

AServlet{
    service(request,response){
        reponse.getWriter().println("test");

        RequestDispatcher rd = request.getRequestDispatcher("/b");
        //将请求和响应交给其他的组件来处理

        rd.include(request,response);

        ///////但是include之后可以继续处理////////
        reponse.getWriter().println("over");

        /////////////////////////////////////////

    }
}

两个组件共享信息,传递信息

方式一 一个类里面创建 public static成员,但是违反面向对象的设计原理

方式二 request 类中
Object getAttribute(String name)
setAttribute(String name,Object o)

HttpSession

Http会话 一个客户端和服务器端的通讯过程
客户登录成功的时候创建session
HttpSession可以基于cookie实现
也可以基于url重写
<a href="/abc/a;jsessionid=ab135415df">fsd</a>

还可以通过隐藏域 

<input type="hidden" name="jsessionid" value="">