servlet
何时创建:默认是第一次访问时创建 创建之后会将这个servlet对象放到服务器的内存中 供后面的访问 且servlet对象只有一个
何时销毁:服务器关闭时销毁
ServletConfig对象
1、概述:
servletConfig是Servlet的配置对象,内部封装的是Servlet的配置信息,这个对象是在Servlet对象创建的时候创建的
ServletConfig对象,一个Servlet只有一个ServletConfig对象,这个对象是web容器创建的 在调用init方法时作为参数传递进去的.
2、获取ServletConfig对象
ServletConfig config = this.getServletConfig();
ServletContext对象
1、概念
ServletContext是web应用的上下文对象,内部封装的是整个web应用的信息,一个web应用只有一个Servletcontext对象,web容器一起动就会创建Servletcontext对象 放到web容器的内存中。
2、获取ServletContext对象
(1) ServletContext context = config.getServletContext();
(2) ServletContext context = this.getServletContext();
3、ServletContext是一个域对象
域对象:代表存储数据的区域 — 最大的域对象 所有的servlet共享一个Servletcontext
//用户登录案例
public class LoginServlet extends HttpServlet {
//
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//转码
response.setContentType("text/html;charset=UTF-8");
PrintWriter writer = response.getWriter();
//1、获取数据
String username = request.getParameter("username");
String password = request.getParameter("password");
//2、进行jdbc的操作 判断用户是否存在
try {
Connection conn = JDBCUtils.getConnection();
PreparedStatement ps = conn.prepareStatement("select * from user where uname=? and password=?");
ps.setString(1, username);
ps.setString(2, password);
ResultSet rs = ps.executeQuery();
if(rs.next()){
writer.write("您好,登录成功!您的信息是:"+rs.getString("uname")+" "+rs.getInt("age"));
}else{
writer.write("用户名或密码错误");
}
JDBCUtils.close(conn, ps, rs);
} catch (Exception e) {
e.printStackTrace();
}
}
}