public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
……
}
1 配置ServletConfig
(1)在web.xml中
<servlet>
<servlet-name>WebServlet</servlet-name>
<servlet-class>com.web.WebServlet</servlet-class>
<init-param>
<param-name>userEmail</param-name>
<param-value>someone@example.com</param-value>
</init-param>
</servlet>
(2)在Servlet中读取参数
out.println(getServletConfig().getInitParameter("userEmail"));
2 配置ServletContext
(1)在web.xml中
<web-app>
<context-param>
<param-name>adminEmail</param-name>
<param-value>winstar@example.com</param-value>
</context-param>
</web-app>
(2)在Servlet中读取参数
out.println(getServletContext().getInitParameter("adminEmail"));
在Servlet中进行客户端跳转,直接使用HttpServletResponse接口的sendRedirect()方法即可,但此跳转只能传递session范围的属性,而无法传递request范围的属性。
在Servlet中没有像JSP中的<jsp:forward>指令,要执行服务器端跳转就必须依靠RequestDispatcher接口完成,使用RequestDispatcher接口的forward()方法可完成跳转,但使用此接口还需要使用ServletRequest接口提供的getRequestDispatcher(String path)方法进行实例化。
Servlet可以分为简单Servlet,过滤Servlet(过滤器),监听Servlet(监听器)3种。
所有的Servlet程序都必须在web.xml文件中进行配置,如果一个web.xml文件要同时配置这3种Servlet,建议按如下步骤配置:
(1)先配置过滤器:<filter>,<filter-mapping>
(2)再配置监听器:<listener>
(3)最后配置简单Servlet:<servlet>,<servlet-mapping>
在web.xml中配置错误处理页面:
<error-page>
<error-code>404</error-code>
<location>nofound.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>error.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>error.jsp</location>
</error-page>