一:Servlet技术(ServerLet)
①Servlet:
1. Servlet是服务器端一段程序(代码、功能实现),可交互式的处理客户的请求,并响应结果。
2. 动态网页技术。
3. JavaWeb开发的基础,JavaEE规范(一套接口)的一个组成部分。
//由服务器厂商提供
②Servlet的核心作用:
I.接收客户端请求,完成操作任务。
II.动态生成网页(页面数据可变)。
III.将包含操作结果的动态网页响应给客户端。
③:Servlet开发步骤
1.搭建环境:在服务器中创建一个app(文件夹),完善目录结构。
将Servlet相关的Jar包(servlet-api.jar)配置到CLASSPATH中。
2.实现javax.servlet.Servlet接口,覆盖5个抽象方法。
//GetServletConfig()返回ServletConfig对象用来返回初始化参数和ServletContext,ServletContext 接口提供有关 servlet 的环境信息。
//GetServletInfo()是一个可选的方法,它提供有关 servlet 的信息,如:作者、版本、版权。
3.实现核心方法service,提供”服务内容“(一段逻辑代码)。
4. 将编译后的.class文件放置在WEB-INF/classes中。
5. web.xml文件中添加配置信息
④:实用类:javax.servlet.http.HttpServlet,专门服务于HTTP协议的类,(间接)实现了Servlet接口
TomCat处理Servlet的方式
动态网页的生成
二:Servlet的生命周期
1. Servlet对象的创建时点:
I. 首次访问时,创建对象(单例模式)。
1). 多次请求相同的Servlet,访问的都是同一个对象。
2). Servlet作为单例对象,实例变量为临界资源,线程不安全。如迫不得已,加锁。
II. 启动服务器时,创建对象。
2. Servlet的初始化:伴随对象的首次创建(只执行一次),自动调用init()方法,完成必须的初始化行为(逻辑代码)。
3. Servlet的销毁:服务器停止服务时,会调用destroy()。
三:Web访问的三种形式
1:Form表单
2:地址栏
3:超链接
四:Servlet获取Client的请求参数
1. 获得请求中的参数:
I. request代表一次请求对象,包含一次请求中的所有信息。
II. request.getParameter("表单元素的name属性 / URL拼接的key");
2. 向服务器发送请求、传递数据的方法(get、post)的乱码:
I. get请求: (地址栏传递文字乱码)
修改TomCats service.xml配置文件
II. post请求:(设置解码方式)
III.响应 :(设置响应的编码方式)
3. Get/Post的区别:
I. get:通过地址栏(String Parameter),明文数据传递,数据量小,不安全。
II. post:通过请求体(Form Data),密文数据传递,数据量大,安全。