servlet回顾笔记

1、servlet 接口 -->实现类 GenericServlet -->子类 HttpServlet

故编写web环境的Servlet类要继承实现http协议的HttpServlet类,而GenericServlet类 和HttpServlet子类中的方法都是可以覆盖的。

2、servlet有两种启动方式,一种是配置loadOnStartup=1值越小越先启动,这样在服务器一启动时,servlet就自动创建,并运行其中的初始化方法init(ServletConfig config)。这里注意ServletConfig,ServletConfig 是 单个Servlet级别的配置环境,而ServletContext是指的是整个应用级别的上下文环境。

二者都可以拿预先配置的参数,一个是单个servlet级别的参数,一个是整个应用级别的参数。例如 config.getInitParameter("variable");

第二是 不配置loadOnStartup,什么时候访问到servlet,什么时候启动servlet


3、GenericServlet类中定义的方法:

getInitParameter(String) 、getInitParameterNames()、getServletConfig()、getServletContext()

所以,实际上,可以直接在Servlet类中的service()或doGet() doPost()方法中,直接调用这些方法,获得相应的量。进一步的解释:

是存在于Servlet初始化Init(ServletConfig config)中的,但是同时也可以在service()等方法中直接通过getServletConfig()获得。

1)获得ServletConfig之后,可以在service()等方法中调用 ServletConfig.getInitParameter(String)  ServletConfig.getInitParameterNames() ,ServletConfig.getServletContext()

但是同时也可以在service()等方法中直接通过getInitParameter(String) 、getInitParameterNames()getServletContext()  获得相应值

2)获得ServletContext之后,可以进一步得到如下

System.out.println(context.getContextPath());                 /anno  项目路径
System.out.println(context.getResource("index.jsp"));      jndi:/localhost/anno/index.jsp
System.out.println(context.getRealPath("index.jsp"));       C:\Java\Tomcat7\webapps\anno\index.jsp  注意,实际上是 实际项目目录+所给文件名

   以及转发的 RequestDispatcher rdt = context.getRequestDispatcher("转发路径"); rdt.forward(req,resp); 实现服务器内部转发











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值