zoukankan      html  css  js  c++  java
  • 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);
        }
    
    }
  • 相关阅读:
    二维ST表模板
    AtCoder Beginner Contest 151 *F
    [Codeforces Round #320 (Div. 2) -E. Weakness and Poorness (三分/二分)
    [Codeforces Round #320 (Div. 2) C. A Problem about Polyline (数学)
    [Codeforces Round #630 (Div. 2)]
    Codeforces Round #353 (Div. 2) E. Trains and Statistic (线段树 + dp)
    Educational Codeforces Round 13 D. Iterated Linear Function (矩阵快速幂)
    Codeforces Round #260 (Div. 1) A. Boredom (简单dp)
    Codeforces Round #245 (Div. 1) B. Working out (简单DP)
    POJ 1988 Cube Stacking (带权并查集)
  • 原文地址:https://www.cnblogs.com/SasaL/p/10600522.html
Copyright © 2011-2022 走看看