Topic: 关于ServletContext的问题

  Print this page

1.关于ServletContext的问题 Copy to clipboard
Posted by: lobing109
Posted on: 2004-09-10 12:13

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class DispatcherServlet extends HttpServlet {

private String target = "/hello.jsp";

public void init(ServletConfig config)
throws ServletException {
super.init(config);

Properties ps=new Properties();
Properties ps_ch=new Properties();
try{
ServletContext context=config.getServletContext();
InputStream in=context.getResourceAsStream("/WEB-INF/messageresource.properties");
ps.load(in);
InputStream in_ch=context.getResourceAsStream("/WEB-INF/messageresource_ch.properties");
ps_ch.load(in_ch);

in.close();
in_ch.close();

context.setAttribute("ps",ps);
context.setAttribute("ps_ch",ps_ch);
}catch(Exception e){
e.printStackTrace();
}

}

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

// If it is a get request forward to doPost()
doPost(request, response);
}

public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

// Get the username from the request
String username = request.getParameter("username");
// Get the password from the request
String password = request.getParameter("password");

// Add the user to the request
request.setAttribute("USER", username);
request.setAttribute("PASSWORD", password);

// Forward the request to the target named
ServletContext context = getServletContext();

System.out.println("Redirecting to " + target);
RequestDispatcher dispatcher =
context.getRequestDispatcher(target);
dispatcher.forward(request, response);
}

public void destroy() {
}
}

请问各位高手,在以上的代码中ServletContext context=getServletContext();和ServletContext context=config.getServletContext();有什么区别吗?

2.Re:关于ServletContext的问题 [Re: lobing109] Copy to clipboard
Posted by: blackicebird
Posted on: 2004-09-10 13:30

<strong>
getServletContext
public ServletContext getServletContext()Returns a reference to the ServletContext in which this servlet is running. See ServletConfig.getServletContext().
<h1>This method is supplied for convenience. It gets the context from the servlet's ServletConfig object.</h1>

Specified by:
getServletContext in interface ServletConfig
Returns:
ServletContext the ServletContext object passed to this servlet by the init method

</strong>

以上摘自j2ee doc可以从“This method is supplied for convenience. ”得知GenericServlet中的getContext是为了方便调用。所以他们的效果是一样的。 It gets the context from the servlet's ServletConfig object.


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923