戚权20201030
知识点
Servlet
Servlet 与普通java 程序的区别
- 必须实现servlet接口
- 必须在servlet容器(服务器)中运行
- servlet程序可以接收用户请求参数以及向浏览器输出数据
Servlet2.5 与Servlet3.0 区别
Servlet3.0相较于Servlet2.5:
新增了一些注解,简化的javaweb代码开发,可以省略 web.xml 配置,支持异步处理(多线程技术) 支持可插性特性(书写的代码编译后生成的class文件可以直接部署到其他项目的,自动加载执行)
servlet 生命周期
void destroy() //销毁servlet的方法
void init(ServletConfig config) //初始化servlet的方法
void service(ServletRequest req, ServletResponse res)//由servlet容器调用,处理并 响应请求
request
http 请求一共分为三个部分:请求行,请求头,请求体。
请求行
请求行:POST /demo/1.html HTTP/1.1
POST :请求方式
/demo/1.html :访问路径
HTTP/1.1 :http协议的版本
请求体
注意:get请求没有请求体,post请求有请求体
username=admin (表单中的内容)
HttpServletRequest
HttpServletRequest 对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。
通过 Request 对象进行的常用操作:
获取客户端信息
获取请求头信息
获取请求参数
利用请求域传递对象
request 获取请求行信息
- String getMethod() 获取请求方式的类型
- String getRequestURI() 获取请求行中的资源名部分
- StringBuffer getRequestURL() 获取客户端发出请求完整URL
注: uri: 统一资源标识符,用来标识一个资源,资源路径。(相当于身份证)
url: 统一资源定位符,是一种具体的URI,可以用来标识一个资源.并且指明了如何定位一个资
源. (相当于身份证中的地址)
- String getProtocol() 获取当前协议的名称和版本
- String getRemoteAddr() 获取IP地址
- int getLocalPort() 获取端口
request 获取请求头信息
- String getHeader(String name) 以String 的形式返回指定请求头的值
- Enumeration getHeaderNames() 返回此请求包含的所有头名称的枚举
获取请求参数
- String getParameter(String name) 根据表单的name属性 获取对应的值
- String[] getParameterValues(String name) 获取name相同的所有value 例如复选框。
- Map getParameterMap() 参数名作为key,参数值作为value,封装到map中。
request 的其他方法
String getContextPath() 获取上下文路径(工程名字)
请求转发
RequestDispatcher getRequestDispatcher(String path) 获取请求转发器(request对象方法)
void forward(ServletRequest request, ServletResponse response) 将请求转发到另一个资源(servlet)上( RequestDispatcher 对象的方法)
总结
今天学习了Servlet和request,这些十分的有意思,需要练的代码有点多.
近期评论