1、
req.setCharacterEncoding("gb2312");//由于用户可能会输入中文用户名,因此我们在代码的第24行设置请求正文使用的字符编码是gb2312。
Stringusername=req.getParameter("username");
设置HTTP响应的Content-Type实体报头。这个实体报头的信息是给客户端软件(通常是浏览器)看的
resp.setContentType("text/html");//设置响应内容的MIME类型为text/html
PrintWriter out=resp.getWriter();
out.println("");
resp.setContentType("text/html;charset=gb2312");//out对象将使用默认的字符编码ISO-8859-1
PrintWriter out=resp.getWriter();
out.println("<html><head>");
2、
resp.sendRedirect("success.html");
resp.sendError(HttpServletResponse.SC_SERVICE_ UNAVAILABLE,"服务器忙,请稍后再登录!");//调用响应对象的sendError()方法发送HTTP错误代码503(在HttpServletResponse接口中定义为静态常量SC_SERVICE_UNAVAILABLE),告诉用户“服务器忙,请稍后再登录”。
3、
容器是通过Java的反射API来创建Servlet实例,调用的是Servlet的默认构造方法(即不带参数的构造方法),所以我们在编写Servlet类的时候,不应该提供带参数的构造方法。
4、
public java.net.URL getResource(java.lang.String path)
throws java.net.Malformed URLException
public java.io.InputStream getResourceAsStream(java.lang.String path)
public void log(java.lang.String msg)
public void log(java.lang.String message,
java.lang.Throwable throwable)
5、
<servlet>
<servlet-name>CounterServlet</servlet-name>
<servlet-class>
org.sunxin.ch02.servlet.CounterServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CounterServlet</servlet-name>
<url-pattern>/product.html</url-pattern>
</servlet-mapping>
6、
RequestDispatcher
public RequestDispatcher getRequestDispatcher(java.lang.String path)
public RequestDispatcher getNamedDispatcher(java.lang.String name)
public void forward(ServletRequest request, ServletResponse response)
throws ServletException, java.io.IOException
public void include(ServletRequest request, ServletResponse response)
throws ServletException, java.io.IOException
调用ServletContext对象的getContext()方法可以获取另一个Web应用程序的上下文对象,利用该上下文对象调用getRequestDispatcher()方法得到的RequestDispatcher对象,可以将请求转发到另一个Web应用程序中的资源。但要注意的是,要跨Web应用程序访问资源,需要在当前Web应用程序的<context>元素的设置中,指定crossContext属性的值为true
7、