建立目录
WEB-INF
classes lib web.xml
testServlet.java .class .jar
Servlet 接口
public void init(ServletConfig config)throws ServletException{
}
public ServletConfig getServletConfig(){
return null;
}
public void service(ServletRequest req,ServletResponse res)throws ServletException,java.io.IOException{
}
public java.lang.String getServletInfo(){
return null;
}
public void destory(){ }
Servlet 部署
servlet配置:
<servlet>
<servlet-name> 就是给servalet取名字
<servlet-class> 要指明servlet放在哪个包下的形式是包/类 com.xxx.xxx 不要带.java
servlet的映射:(同一名称的servlet可以被多次映射)
<servlet-mapping>
<servlet-name>要匹配的servlet和上面servlet-name对应
<url-pattern>是将来访问该servlet的资源名,该名字可以自己定义:默认就使用servlet名
使用通配符映射
<url-pattern>/* 所有请求都走这里 优先级比精确匹配低
<url-pattern>/news/* 对应频道
<url-pattern>*.do 匹配这个后缀名 优先级比/*低
<Load-on-startup>
在servlet的配置当中,5的含义是:
标记容器是否在启动的时候就加载这个servlet。
当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;
当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。
正数的值越小,启动该servlet的优先级越高。
读取配置参数
getServletConfig()
response.setContentType(this.getServletConfig().getInitParameter("encoding"));
单个servlet读取
this.getServletConfig().getInitParameter("encoding")
<init-param><param-name>encoding</>
<param-value>utf-8</>
</>
全局配置
this.getServletContext().getInitParameter("encoding")
<context-param>
<param-name>encoding</>
<param-value>utf-8</>
</>