Servlet入门案例
2016-03-07 22:08
477 查看
开发servlet有三种方法:
1.实现Servlet接口;
要理解servlet的生命周期,需要了解访问servlet的过程。
生命周期全过程:
1.加载
2.实例化
3.初始化
4.处理请求
5.退出服务
①WEB服务器首先会检查是否已经加载并创建了该servlet实例对象。如果是直接进行第③步,否则执行第②步。
②装载并创建该Servlet的一个实例对象。
③调用Servlet实例对象的init()方法,该方法只会被调用一次。
④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象(只有头,等待回填),然后调用service()方法并将请求和响应作为参数传递进去。
⑤WEB应用被停止或重启之前,Servlet引擎将卸载Servlet,在卸载之前调用Servlet的destroy()方法
2.继承GenericServlet;
少用
3.继承HttpServlet.
绝大部分!
1.实现Servlet接口;
public interface Servlet { void init(ServletConfig var1) throws ServletException; ServletConfig getServletConfig(); void service(ServletRequest request, ServletResponse response) throws ServletException, IOException; String getServletInfo(); void destroy(); }
要理解servlet的生命周期,需要了解访问servlet的过程。
生命周期全过程:
1.加载
2.实例化
3.初始化
4.处理请求
5.退出服务
①WEB服务器首先会检查是否已经加载并创建了该servlet实例对象。如果是直接进行第③步,否则执行第②步。
②装载并创建该Servlet的一个实例对象。
③调用Servlet实例对象的init()方法,该方法只会被调用一次。
④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象(只有头,等待回填),然后调用service()方法并将请求和响应作为参数传递进去。
⑤WEB应用被停止或重启之前,Servlet引擎将卸载Servlet,在卸载之前调用Servlet的destroy()方法
2.继承GenericServlet;
少用
3.继承HttpServlet.
绝大部分!
<html> <head> <title>$Title$</title> </head> <body> <form action="/servlettest/MyHttpServlet" method="post"> uname:<input type="text" name="uname"/> <input type="submit" value="login"/> </form> </body> </html>
public class MyHttpServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().println("hello " + request.getParameter("uname")); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //一般开发人员习惯把doGet()和doPost()合二为一。 this.doPost(request,response); } }
相关文章推荐
- 用UI简单的控件搭载一个简单的登录页面
- 蓝桥杯_基础练习《时间转换---30》
- 213. House Robber II LeetCode
- JS初步学习
- 归并排序(Merge Sort)
- 【总结】C++静态成员变量的特性总结及测试用例
- struts2 表单验证
- 数值分析PTA第一题
- android完全退出程序
- 14. MVC
- 项目1-宣告“主权”
- 内存管理
- 第三天数据库 事务 listview
- <%@ page isELIgnored="false"%>的作用
- 1. SpringMVC 入门例子
- 求最长公共子序列
- CodeForces 626B
- 100. Same Tree
- Python与硬件学习笔记:蓝牙(一)
- Javascript与ECMAScript