Servelet基础
Servet(数据库与http端中间层)一、 Servelet1) 是什么:运行在 Web服务器或应用服务器上的程序,作为来自 Web浏览器或其他 HTTP客户端的请求和 HTTP服务器上的数据库或应用程序之间的中间层 2) 生命周期Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet遵循的过程:A. Se
Servet(数据库与http端中间层)
一、 Servelet
1) 是什么:
运行在 Web服务器或应用服务器上的程序,作为来自
Web浏览器或其他 HTTP客户端的请求和 HTTP服务器上的数据库或应用程序之间的中间层
2) 生命周期
Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet遵循的过程:
A. Servlet通过调用 init () 方法进行初始化。
特点:
1. init方法被设计成只调用一次。它在第一次创建 Servlet时被调用,在后续每次用户请求时不再调用。
2. 当用户调用一个 Servlet时,就会创建一个 Servlet实例,每一个用户请求都会产生一个新的线程,适当的时候移交给 doGet或 doPost方法。init()方法简单地创建或加载一些数据,这些数据将被用于 Servlet的整个生命周期。
B. Servlet调用 service() 方法来处理客户端的请求。
1. service()方法是执行实际任务的主要方法。Servlet容器(即 Web服务器)调用 service()方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端
2. service()方法由容器调用,service方法在适当的时候调用 doGet、doPost、doPut、doDelete等方法。
C. Servlet调用doGet () 方法来处理URL正常请求和未指定METHOD的 HTML表单
D. Servlet调用 doPost () 方法来处理特别指定了 METHOD 为 POST的 HTML表单
E. Servlet通过调用 destroy() 方法终止(结束)。
destroy() 方法可以让您的 Servlet关闭数据库连接、停止后台线程、把Cookie列表或点击计数器写入到磁盘,并执行其他类似的清理活动。
· 最后,Servlet是由 JVM的垃圾回收器进行垃圾回收的。
Servelet表单数据和URL数据
a) Get方法和post方法的区别
GET 方法是默认的从浏览器向 Web服务器传递信息的方法,它会产生一个很长的字符串,出现在浏览器的地址栏中。
GET 方法有大小限制:请求字符串中最多只能有1024个字符。一般不用来传密码或其他敏感信息
Post方法打包信息的方式与 GET方法基本相同,但是 POST方法不是把信息作为 URL中 ?字符后的文本字符串进行发送,而是把这些信息作为一个单独的消息。消息以标准输出的形式传到后台程序,您可以解析和使用这些标准输出。
b) Servlet读取表单数据
处理表单数据,这些数据会根据不同的情况使用不同的方法自动解析:
getParameter():您可以调用 request.getParameter()方法来获取表单参数的值。
getParameterValues():如果参数出现一次以上,则调用该方法,并返回多个值,例如复选框。
getParameterNames():如果您想要得到当前请求中的所有参数的完整列表,则调用该方法。
c) 请求转发和请求重定向区别
转发:request.getRequestDispatcher(“login_success”.jsp)
重定向:response.sendRedirect(“game.html”)
请求转发:
客户端浏览器发送HTTP请求(LoginSerlvet)-->Tomcat容器初始化LoginSerlet、并调用相关业务逻辑方法-->LoginServlet通过RequestDispatcher将请求控制权移交CheckSerlvet-->checkServlet完成登录验证。
重定向:
需要注意的是重定向可以定位到任意的URL,不仅限于当前的web应用。这点也造成了其不能共享request、response数据。
更多推荐



所有评论(0)