Servlet (二)ServletContext

package cn.sasa.serv;

import java.io.IOException;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ContextServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    public ContextServlet() {
        super();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获得全局初始化参数
        ServletContext context = this.getServletContext();
        String url = context.getInitParameter("url");
        System.out.println(url);
        
        //取得绝对路径getRealPath()
        String path1 = context.getRealPath("index.html");
        System.out.println(path1);
        
//        String path = context.getRealPath("WEB-INF/classes/c3p0-config.xml");
//        System.out.println(path);
        //classes下的文件
        String path = ContextServlet.class.getClassLoader().getResource("c3p0-config.xml").getPath();
        System.out.println(path);
        
        //ServletContext是全局的,可以获取另一个Servlet设置的值
        int count = (int)context.getAttribute("count");
        System.out.println(count);
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}
package cn.sasa.serv;

import java.io.IOException;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;

import cn.sasa.domain.MyUser;
import cn.sasa.utils.C3P0Utils;

public class Login extends HttpServlet {
    private static final long serialVersionUID = 1L;
     
    public Login() {
        super();
    }
    
    public void init(){
        //初始化时创建一个变量
        int count = 0;
        this.getServletContext().setAttribute("count", count);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
        String userName = request.getParameter("userName");
        String pwd = request.getParameter("pwd");
        //System.out.println(userName+"====="+pwd);
        
        QueryRunner query = new QueryRunner(C3P0Utils.getDataSource());
        String sql = "select * from user where name=? and pwd=?";
        MyUser user = null;
        try {
            user = query.query(sql, new BeanHandler<MyUser>(MyUser.class), userName,pwd);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if(user != null) {
            int count = (int)this.getServletContext().getAttribute("count");
            count++;
            this.getServletContext().setAttribute("count", count);
            response.getWriter().write(user.toString()+"==="+count);
        }else {
            response.getWriter().write("wrong");
        }
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

猜你喜欢

转载自www.cnblogs.com/SasaL/p/10600522.html