zoukankan      html  css  js  c++  java
  • Servlet程序开发-- 取得其他内置对象

    servlet本身提供的只有request和response对象,如果要取得session对象,只能依靠request对象,因为session属于HTTP协议范畴,而且在每次发送请求的时候,服务器都会自动为客户端设置一个cookie,所以,很自然的,session中要使用cookie机制,但是cookie又只能通过request取得,所以自然session也只能通过request取得。

    取得session对象:

    package org.lxh.servletdemo ;
    import java.io.* ;
    import javax.servlet.* ;
    import javax.servlet.http.* ;
    public class HttpSessionDemoServlet extends HttpServlet {
        public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
            HttpSession ses = req.getSession() ;
            System.out.println("SESSION ID --> " + ses.getId()) ;
            ses.setAttribute("username","李兴华") ;     // 设置session属性
            System.out.println("username属性内容:" + ses.getAttribute("username")) ;
        }
        public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
            this.doGet(req,resp) ;
        }
    }

     web.xml:

    <servlet>
            <servlet-name>sessiondemo</servlet-name>
            <servlet-class>
                org.lxh.servletdemo.HttpSessionDemoServlet
            </servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>sessiondemo</servlet-name>
            <url-pattern>/HttpSessionDemoServlet</url-pattern>
        </servlet-mapping>

    2. 取得application:

    package org.lxh.servletdemo ;
    import java.io.* ;
    import javax.servlet.* ;
    import javax.servlet.http.* ;
    public class ServletContextDemoServlet extends HttpServlet {
        public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
            ServletContext app = super.getServletContext() ;
            System.out.println("真实路径:" + app.getRealPath("/")) ;
        }
        public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
            this.doGet(req,resp) ;
        }
    }

    web.xml:

        <servlet>
            <servlet-name>applicationdemo</servlet-name>
            <servlet-class>
                org.lxh.servletdemo.ServletContextDemoServlet
            </servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>applicationdemo</servlet-name>
            <url-pattern>/ServletContextDemoServlet</url-pattern>
        </servlet-mapping>

    总结:

    1. 通过req.getSession() 可以取得session,可以进行登录验证操作

    2. 通过getServletContext()取得application

  • 相关阅读:
    抖音服务器带宽有多大,才能供上亿人同时刷?今天长见识了。。
    用了很多年的 CMS 垃圾收集器,终于换成了 G1,真香!!
    Spring Boot 项目脚本(启动、停止、重启、状态)
    正排倒排,并不是 MySQL 的排序的全部!
    自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10 倍!
    beego实现多端口监听
    区块链分类
    Hyperledger/Fabric
    register db `default`, default addr for network 'localhost:3306' unknown must have one register DataBase alias named `default`
    go vendor的正确打开方式
  • 原文地址:https://www.cnblogs.com/wujixing/p/4969647.html
Copyright © 2011-2022 走看看