取得参数化信息
package zz.servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class InitParamServlet extends HttpServlet{ // 必须继承接口,否则不是一个servlet
private String initParam; // 定义初始化参数
public void init(ServletConfig config) throws ServletException{
this.initParam = config.getInitParameter("ref"); // 接收配置文件中参数ref
}
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, java.io.IOException{
System.out.println("----------->初始化参数信息:" + this.initParam);
}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, java.io.IOException{
this.doGet(req, resp);
}
}
servlet>
<servlet-name>initparam</servlet-name>
<servlet-class>zz.servlet.InitParamServlet</servlet-class>
<init-param>
<param-name>ref</param-name>
<param-value>www.csdn.net</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>initparam</servlet-name>
<url-pattern>/InitParamServlet</url-pattern>
</servlet-mapping>
package zz.servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class InitParamServlet extends HttpServlet{ // 必须继承接口,否则不是一个servlet
private String initParam; // 定义初始化参数
public void init(ServletConfig config) throws ServletException{
this.initParam = config.getInitParameter("ref"); // 接收配置文件中参数ref
}
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, java.io.IOException{
System.out.println("----------->初始化参数信息:" + this.initParam);
}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, java.io.IOException{
this.doGet(req, resp);
}
}
servlet>
<servlet-name>initparam</servlet-name>
<servlet-class>zz.servlet.InitParamServlet</servlet-class>
<init-param>
<param-name>ref</param-name>
<param-value>www.csdn.net</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>initparam</servlet-name>
<url-pattern>/InitParamServlet</url-pattern>
</servlet-mapping>
问题:设置多个servlet映射路径的排列问题
![](https://img-my.csdn.net/uploads/201208/14/1344957949_5245.jpg)
Tomcat后台运行效果(多次F5刷新页面):
![](https://img-my.csdn.net/uploads/201208/14/1344958005_9370.jpg)
取得其它对象(HttpSession对象和Application对象)
Application内置对象是ServletContext接口的实例,表示的是Servlet上下文。
直接通过GenericServlet类提供的方法getServletContext()。
这里要清楚servlet类的继承关系
package zz.servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class OtherServletDemo extends HttpServlet{ // 必须继承接口,否则不是servlet
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, java.io.IOException{
HttpSession ses = req.getSession(); // 取得Session对象
System.out.println("Session ID-->" + ses.getId());
ses.setAttribute("username", "刘德华");
System.out.println("username 属性内容-->" + ses.getAttribute("username"));
ServletContext app = super.getServletContext();
System.out.println("真实路径-->" + app.getRealPath("/"));
}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, java.io.IOException{
this.doGet(req, resp);
}
}
<servlet>
<servlet-name>ohterServlet</servlet-name>
<servlet-class>zz.servlet.OtherServletDemo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ohterServlet</servlet-name>
<url-pattern>/OtherServletDemo</url-pattern>
</servlet-mapping>
![](https://img-my.csdn.net/uploads/201208/14/1344958224_9549.jpg)
编译问题:
要想实现一个Servlet则一定要继承HttpServlet类,并覆写相应方法,配置web.xml文件。