servlet基础

来源:互联网 发布:彩色烟雾棒淘宝 编辑:程序博客网 时间:2024/06/04 19:23

1.ServletConfig对象

容器初始化一个servlet时,会为这个servlet建一个唯一的ServletConfig。容器从web.xml读出Servlet初始化参数,并把这些参数交给ServletConfig,然后把ServletConfig传递给servlet的init(ServletConfig config)方法。也就是说容器只有在创建servlet实例时才会读web.xml文件中的init-param,并且在servlet一生中只读一次。

在实际应用过程中,为了便于修改我们并不希望直接把某一变量硬编码到servlet类中,这个时候就会用到ServletConfig接口。我们可以把某些变量放在web.xml中,这样如果我们要修改某一值,可以直接改动DD文件即可。

在web.xml中:

<servlet>    <servlet-name>ServletConfigTest</servlet-name>    <servlet-class>com.guo.ServletConfigTest</servlet-class>     <init-param>    <param-name>color</param-name>    <param-value>red</param-value>     </init-param> </servlet>

在servlet代码中:

out.println(getServletConfig().getInitParameter("color"));

getInitParameter(String name):根据给定的初始化参数,返回匹配的当前servlet初始化参数值。
getInitParameterNames():返回一个Enumeration对象,里面包含了所有的初始化参数。
getServletContext():返回一个servletContext()对象.
getServletName():返回servlet的名字,即web.xml中的的子元素的值。如果没有配置这个子元素,则返回servlet类的名字。


2.ServletContext对象

  1. WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象
  2. ServletContext对象是应用程序的环境对象接近于代表这个应用程序。
ServletContext context = this.getServletContext();context.getRealPath("/");//当前应用的根目录 绝对路径context.getContextPath();//相对路径context.getInitParameter();//得到全局的属性

3.

  1. request(请求)和response(响应)都是由Tomcat创建的。
  2. Get和Post的区别是前者使用地址栏的形式传值,后者使用requestHeader的形式在流中传输
  3. 实践应用继承HttpServlet重写doGet或doPost等处理请求
  4. HttpServlet的service方法调用自身的doGet/doPost方法,自定义子类则重写这两个方法。

4.jsp页面

这里写图片描述
1. 处理过程:容器编译成servlet,然后按照servlet规范调用处理。
2. 先找到jsp,然后转换为servlet源码编译成字节码文件,运行类文件通过流接收和响应信息。
3. 、jsp页面七元素:指令,动作,声明,脚本程序,表达式,html与注释

指令:

  1. <%@ page >
  2. <%@ taglib>
  3. <%@ include> 静态包含,将包含页面先引入后编译

动作:

<jsp:forword page="realurl.jsp"  />      

表达式:<%= %>
声明:<%! int sum=30; %> 全局声明
注释:<%– –%> 服务端的注释

0 0