servlet编程:
1.servlet生命周期:
构造方法:创建servlet对象。默认情况下,第一次访问servlet对象时。只调用一次。
init方法(有参):创建完servlet对象后调用。只调用一次。
注意:会调用无参的init方法
servlet方法:servlet提供服务的方法,每次发出请求调用。
注意:request对象,response对象
destory方法:tomcat服务器停止或web应用重新部署,servlet对象销毁,destory方法被调用
2.servletConfig对象
getinitParameter("参数") ---------------------获取servlet初始化参数
getinitParameterNames()
3.servletContext对象
getContextPath() 得到web引用路径
HttpServlteRequest.getContextPath() 得到web的引用路径
getinitParameter("name") 得到全局初始化参数
作为域对象:
setAttribute("name",object) 保存数据
getAttribute("name") 得到数据
removeAttribute("name") 清除数据
转发:getRequestDispatcher("路径").forward(request,response);
request.getRequestDispatcher("路径").forward(request,response);
得到web应用的资源文件
context.getRealPath("路径")
context.getResourceAsStream("路径")
1 package com.java.path; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.IOException; 6 import java.io.InputStream; 7 import java.util.Properties; 8 import javax.servlet.ServletException; 9 import javax.servlet.http.HttpServlet; 10 import javax.servlet.http.HttpServletRequest; 11 import javax.servlet.http.HttpServletResponse; 12 13 /** 14 * 读取web应用下的资源文件(例如properties) 15 * 16 * @author syousetu 17 * 18 */ 19 public class Resource extends HttpServlet { 20 21 protected void doGet(HttpServletRequest request, HttpServletResponse response) 22 throws ServletException, IOException { 23 24 /** 25 * . 代表相对路径中的当前路径。相对于java命令运行的目录 26 结论: 27 在java项目中,.代表在java项目的根目录下开始 28 web项目中,java运行命令在tomcat的bin目录下 29 所以 ,这里的.代表tomcat/bin 30 */ 31 // 这种不能用 32 // File file = new File("./src/db.properties"); 33 // FileInputStream in = new FileInputStream(file); 34 35 /** 36 * 使用web应用下加载资源文件的方式 37 */ 38 39 /** 40 * 1.使用getRealPath() 41 * 资源由服务器去找,src下的文件全部会copy一份放入WEB-INF下的classes中 42 */ 43 // //返回资源文件的绝对路径 44 // String path = this.getServletContext().getRealPath("/WEB-INF/classes/db.properties"); 45 // File file = new File(path); 46 // FileInputStream in = new FileInputStream(file); 47 48 /** 49 *2. getResourseAsStream() 得到资源文件,返回的是输入流 50 */ 51 InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties"); 52 53 54 55 56 Properties prop = new Properties(); 57 58 //读取资源文件 59 prop.load(in); 60 String user = prop.getProperty("user"); 61 String password = prop.getProperty("password"); 62 System.out.println("user:"+user); 63 System.out.println("password:"+password); 64 65 66 } 67 68 }
db.properties
1 user=root 2 password=root