• 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);
        }
    
    }
  • 相关阅读:
    SpringBoot优雅的全局异常处理
    react格式化展示json
    Pycharm调试按钮
    HttpURLConnection和okhttp的使用
    objection自动生成hook代码
    hookString
    python取中位数 位运算
    scrapy mongo pipeline
    xpath tips
    IT日语
  • 原文地址:https://www.cnblogs.com/SasaL/p/10600522.html
Copyright © 2020-2023  润新知