Servlet中取得application对象的两种方法
在Servlet中,取得application有两种方法:
1.通过无参初始化方法,直接取得;
2.通过有参初始化方法,必须使用config对象取得。
实例:
1.无参初始化方法:
Application.java:
- package mgc.servlet.test;
- import java.io.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- public class Applicationextends HttpServlet {
- public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException {
- this.doPost(request,response);
- }
- public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException {
- //取得Application对象
- ServletContext application=this.getServletContext();
- //设置Application属性
- application.setAttribute("name","Magci");
- //跳转到接收页面
- response.sendRedirect("application.jsp");
- }
- }
package mgc.servlet.test;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Application extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException {
this.doPost(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException {
//取得Application对象
ServletContext application=this.getServletContext();
//设置Application属性
application.setAttribute("name", "Magci");
//跳转到接收页面
response.sendRedirect("application.jsp");
}
}
web.xml:
- <servlet>
- <servlet-name>Application</servlet-name>
- <servlet-class>mgc.servlet.test.Application</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>Application</servlet-name>
- <url-pattern>/servlet/application</url-pattern>
- </servlet-mapping>
application.jsp:
- <%@pagecontentType="text/html;charset=GB2312" %>
- <html>
- <head>
- <title>application</title>
- </head>
- <body>
- <h1><%=getServletContext().getAttribute("name") %></h1>
- </body>
- </html>
2.有参初始化方法:
Config.java:
- package mgc.servlet.test;
- import java.io.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- public class Configextends HttpServlet {
- private ServletConfig conf=null;
- public void init(ServletConfig conf) throws ServletException {
- //实例化config对象
- this.conf=conf;
- }
- public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException {
- this.doPost(request,response);
- }
- public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException {
- //通过config对象取得Application对象
- ServletContext application=this.conf.getServletContext();
- //设置Application属性
- application.setAttribute("name","Magci");
- //跳转到接收页面
- response.sendRedirect("config.jsp");
- }
- }
package mgc.servlet.test;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Config extends HttpServlet {
private ServletConfig conf=null;
public void init(ServletConfig conf) throws ServletException {
//实例化config对象
this.conf=conf;
}
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException {
this.doPost(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException {
//通过config对象取得Application对象
ServletContext application=this.conf.getServletContext();
//设置Application属性
application.setAttribute("name", "Magci");
//跳转到接收页面
response.sendRedirect("config.jsp");
}
}
web.xml:
- <servlet>
- <servlet-name>Config</servlet-name>
- <servlet-class>mgc.servlet.test.Config</servlet-class>
- </servlet>
config.jsp:
- <%@pagecontentType="text/html;charset=GB2312" %>
- <html>
- <head>
- <title>config</title>
- </head>
- <body>
- <h1><%=getServletContext().getAttribute("name") %></h1>
- </body>
- </html>