Servlet系列

一、Servlet简介

      Java Servlet是运行在web服务器上的程序,他是作为来自web浏览器或者其他HTTP客户端的请求和HTTP服务器上的应用程序        之间的中间层。  使用Servlet可以收集网页表单提交的数据,或者创建动态页面。

       Servlet发送显式、隐式的数据给客户端,并读取客户端(浏览器)的显式、隐式数据。

二、Servlet环境设置:设置web服务器--->tomcat(掌握tomcat的安装,classpath的配置,以及端口号被占用问题)

三、Servlet生命周期

        init():servlet调用init()方法初始化;---->只调用一次

        service():servlet调用service()

        destory():销毁---->只被调用一次

      servlet部署: web.xml发布;

四、Servlet表单数据

       浏览器使用两种方法将信息传递给web服务器,为GET和POST

       区别:1、如若传递长的字符串且比较敏感,用POST,安全;

                2、GET传递的长度有限制,最大不超多1024个字符。

  • getParameter():您可以调用 request.getParameter() 方法来获取表单参数的值。
  • getParameterValues():如果参数出现一次以上,则调用该方法,并返回多个值,例如复选框。
  • getParameterNames():如果您想要得到当前请求中的所有参数的完整列表,则调用该方法。
  • response.setContentType("text/html"):设置响应内容类型
  • 解决乱码:encoding

五、Servlet cookies处理

//cookie的操作
        //写cookie
        Cookie cookie=new Cookie("name","westos");
        //过期时间
        cookie.setMaxAge(10000);
        //只允许服务端读取
        cookie.setHttpOnly(true);
        response.addCookie(cookie);

        //读取cookie
        Cookie[] cookies = request.getCookies();
        for(Cookie ck:cookies){
            System.out.println(ck.getName()+"="+ck.getValue());
        }

六、Servlet Session存储

 //把验证码存放到session对象中
        HttpSession session = request.getSession();
        session.removeAttribute("code");
        session.setAttribute("code", code.toLowerCase());
        System.out.println(session.getAttribute("code"));

七、Servlet计数器

//获取Servletcontext
        ServletContext ctx=getServletContext();
        ctx=request.getServletContext();

        ctx.setAttribute("ctxname","westos");
        //获取计数器
            Integer counter=(Integer) ctx.getAttribute("counter");
            if(counter==null){
                counter=1;
            }else{
                counter=counter+1;
            }
            ctx.setAttribute("counter",counter);
            response.getWriter().println("<h1>您是第"+counter+"位访问本站的用户</h1>");
            response.getWriter().println("<h1>您的IP地址为:"+request.getRemoteAddr()+"</h1>");

猜你喜欢

转载自blog.csdn.net/liuxiaofan_/article/details/81274589