java_web
URL(Uniform Resource Locator):以文字方式说明因特网上的资源如何取得
----主要格式:
--> ftp(文件传输协议,File Transfer Protocol)
--> http(超文本传输协议,Hypertext Transfer Protocol)
--> mailto(电邮)
--> file(特定主机文件名)
协议之后跟随冒号,特定协议部分的格式:
//<用户>:<密码> @ <主机>:<端口> / <路径>
HTTP:一种通信协议,指架构在TCP/IP之上应用层的一种协议
----特性:
-->基于请求(Request) / 响应(Response)模型
-->无状态(Stateless)通信协议
前面的摘要看完再补上
当请求来到http服务器,而http服务器转交请求给容器时,容器会创建一个代表当次请求的HttpServletRequest对象,并将请求相关信息设置给该对象。同时,容器会创建一个HttpServletResponse对象,作为稍后要对客户端进行响应的Java对象。
接着,容器会根据读取的@WebServlet标注或者Web.xml的设置,找出处理该请求的Servlet,调用它的service()方法,将创建的HttpServletRequest对象,HttpServletResponse对象传入作为参数,service()方法中会根据HTTP请求的方式,调用对应的doXXX()方法。
接着在doXXX()方法中,可以使用HttpServletRequest对象,HttpServletResponse对象。
容器每次请求都会创建新的HttpServletRequest,HttpServletResponse对象,响应完毕都会销毁当前的两个对象,每次请求都是新的HttpServletRequest,HttpServletResponse对象,所以对HttpServletRequest,HttpServletResponse对象的设置是无法延续至下一次请求。
处理请求参数与标头
-->getParameter("参数名"):指定请求参数名称来获得对应值
-->getParameterValues("参数名"):同一请求参数多个值返回字符串数组
-->getParameterNames():取得同一请求中的所有参数名
-->getParameterMap():将请求的参数按Map<String,String[]>对象返回,键<key>请求名称以string返回,值<value>以string[]数组返回
HttpServletRequest对象的getCharacterEncoding()获取请求参数编码setCharacterEncoding("utf-8")设置请求参数编码
response同理
!!!!!get请求不起作用!!!!