Servlet中获取JSP内置对象

方便自己查询,嫌低级的勿喷。。。。

1.request

在servlet的doGet和doPost的参数中就有HttpServletRequest req参数,而JSP内置request对象就是HttpServletRequest接口的实例化对象,可以直接使用req。

2.response

在servlet的doGet和doPost的参数中就有HttpServletResponse resp参数,而JSP内置response对象就是HttpServletResponse接口的实例化对象,可以直接使用resp。

3.session

在servlet程序中要获取session对象,可以通过HttpServletRequest接口完成:

No 方法 描述
1 public HttpSession getSession() 返回当前session
2 public HttpSession getSession(boolean create) 返回当前session,如果没有则创建一个新的session对象返回
package org.lxh.servletdemo ;
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;
public class HttpSessionDemoServlet extends HttpServlet {
    public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
        HttpSession ses = req.getSession() ;
        System.out.println("SESSION ID --> " + ses.getId()) ;
        ses.setAttribute("username","李兴华") ;     // 设置session属性
         System.out.println("username属性内容:" + ses.getAttribute("username")) ;
    }
    public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
        this.doGet(req,resp) ;
    }
}

4.application

application内置对象是ServletContext接口的实例,表示的是Servlet上下文,如果要在一个Servlet中使用此对象,直接通过GenericServlet类提供的方法即可:

No 方法 描述
1 public ServletContext getServletContext() 取得ServletContext对象
package org.lxh.servletdemo ;
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;
public class ServletContextDemoServlet extends HttpServlet {
    public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
        ServletContext app = super.getServletContext() ;
        System.out.println("真实路径:" + app.getRealPath("/")) ;
    }
    public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
        this.doGet(req,resp) ;
    }
}

5.config

config内置对象实际上是ServletConfig接口的实例,在Servlet程序中的init()方法里找到ServletConfig接口实例:

package org.lxh.servletdemo ;
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;
public class InitParamServlet extends HttpServlet {
    private String initParam = null ;    // 用于保存初始化参数
     public void init() throws ServletException{}

    public void init(ServletConfig config) throws ServletException{
this.initParam = config.getInitParameter("ref") ;    // 接收的初始化参数名称暂时为ref
    }

    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException{
        System.out.println("初始化参数:" + this.initParam) ;
    }
    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException{
        this.doGet(req,resp) ; 
    }
}

6.out

 out对象是javax.servlet.jsp.JspWriter类的实例化对象,此类继承于java.io.Writer类,然后在HttpServletResponse resp对象中可以获取java.io.PrintWriter类的实例化对象,而java.io.PrintWriter类同样继承于java.io.Writer类,所有out对象可以通过resp.getWriter()获取到:

package org.lxh.servletdemo ;
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;
public class InputServlet extends HttpServlet{
    public void doGet(HttpServletRequest req,HttpServletResponse resp)
              throws ServletException,IOException{
        String info = req.getParameter("info") ;    // 假设参数名称为info
        PrintWriter out = resp.getWriter() ;
        out.println("<html>") ;
        out.println("<head><title>MLDNJAVA</title></head>") ;
        out.println("<body>") ;
        out.println("<h1>" + info + "</h1>") ;
        out.println("</body>") ;
        out.println("</html>") ;
        out.close() ;
    }
    public void doPost(HttpServletRequest req,HttpServletResponse resp)
              throws ServletException,IOException{
        this.doGet(req,resp) ;
    }
}

 

 

 

 

posted @ 2013-07-22 14:43  恋醉梦  阅读(1335)  评论(0编辑  收藏  举报