之后Service()方法
时机:
第一次访问Servlet:必须在inint()方法执行之后 客户端发送请求
语法:
protected void service(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException{} 特点:
通过的servlet线程处理客户端请求 存在并发问题
destroy()方法
时机:当一个服务器卸载servlet时会自动调用 作用:
释放当前实例所占用的资源
把当前内存中的数据储存到持久存储设备中 在整个生命周期中,只被调用一次
语法:
public void destroy() {
super.destroy(); // Just puts \"destroy\" string in log System.out.println(\"++++++++++++服务已销\"); }
注意:
在destroy()方法完成前必须确保所有线程都已完成
资源访问
JAVA数据库连接(JDBC) 创建步骤:
第一步:获得数据库连接参数信息 第二步:注册数据库驱动 第三步:实例化连接对象 第四步:实例化statement对象 第五步:执行SQL语句 第六步:处理结果集 第七步:关闭对象,释放资源 1.创建Servlet,并在初始化时获得参数
Xml配置:
driver
oracle.jdbc.driver.OracleDriver
url jdbc:oracle:thin:@192.168.56.3:1521:test
user test
password test
2.编写getConnection方法,创建连接对象
3.doget方法获得连接,创建statement对象,执行sql语句,得到结果集
4.dispResultSet方法向页面返回结果
JDBC 优势与不足
优势:
JDBC能够处理多用户并发访问同一数据引发的并发问题.
不足
每建立一个数据库连接需要一至三秒.
每一个请求都要创建一个新的连接,效率是很低的. 当数据库环境发生变化时,应用程序会出错
数据库名称、登录信息 数据库类别
分发不同的结果到一个视图页面
从一个ServletContext获取分发器
RequestDispatcher 类
分发请求到一个新的资源上
request.setAttribute(\"user\
……
getServletContext().getRequestDispatcher(\"/index.jsp\").forward(request,response); 视图页:
分发请求到一个新的资源上
从一个请求分发器中有两种方法来分发请求
Forward:把请求从一个servlet跳向同一个服务器上的另一个资源上 Include: 包括资源的内容
两种得到请求分发器的方法
ServletRequest.getRequestDispatcher() //相对路径 ServletConext.getRequestDispatcher() //绝对路径
新资源可以访问其他不同范围属性的请求和响应
javax.servlet.ServletContext—application in jsp javax.servlet.http.HttpSession—session in jsp javax.servlet.ServletRequest—request in jsp javax.servlet.jsp.PageContext—page in jsp