当前位置:编程学习 > JSP >>

Servlet基础例程 - HelloServlet - NT版本

答案:/*
作者:何志强[hhzqq@21cn.com]
日期:2000-08-10
版本:1.0
功能:Servlet基础例程 - HelloServlet
*/

import java.io.*;
import java.text.*; //MessageFormat
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet{
   //页面标题
   protected static final String strTitle = "Servlet基础例程 - HelloServlet";

   //页眉
   protected static final String strHeader =
      "<html>"+
      "<head>"+
      "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">"+
      "<title>{0}</title>"+
      "</head>"+
      "<body>";

   //页脚
   protected static final String strFooter =
      "</body>"+
      "</html>";

   //表单
   protected static final String strForm =
      "<form action=\"{0}\" method=\"post\">"+
      "您尊姓大名:<input type=\"text\" name=\"name\">"+
      "<input type=\"submit\" name=\"submit\" value=\"提交\">"+
      "</form>";

   protected static final String strHello =
      "您好,{0},欢迎来到Servlet/JSP世界!";

   //出错信息
   protected static final String strError =
      "<h2><font color=\"#ff0000\">{0}</font></h2>";

   protected void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
      process(req,resp);
   }

   protected void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
      process(req,resp);
   }

   protected void process(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
      try{
         String submit = req.getParameter("submit");
         if(submit==null)
           printForm(req,resp);
         else
           printHello(req,resp);
      }
      catch(Exception e){
         printError(e.toString(),req,resp);
      }
   }

   protected void printForm(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
      //在使用PrintWriter前得先设置Content Type
      resp.setContentType("text/html;charset=gb2312");

      PrintWriter out = resp.getWriter();

      //输出页眉
      out.print(MessageFormat.format(strHeader,new Object[]{strTitle+" - 请输入尊姓大名"}));

      //输出表单
      out.print(MessageFormat.format(strForm,new Object[]{req.getContextPath()+req.getServletPath()}));

      //输出页脚
      out.print(strFooter);

      out.flush();
   }

   protected void printHello(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
      //获取用户输入的数据
      String name = req.getParameter("name");

      if(name==null)
         name = "无名氏";
      else
         //对用户输入的数据作必要的字符编码转换
         name = new String(name.getBytes("iso-8859-1"));

      //在使用PrintWriter前得先设置Content Type
      resp.setContentType("text/html;charset=gb2312");

      PrintWriter out = resp.getWriter();

      //输出页眉
      out.print(MessageFormat.format(strHeader,new Object[]{strTitle+" - 欢迎您"}));

      //输出欢迎信息
      out.print(MessageFormat.format(strHello,new Object[]{name}));

      //输出页脚
      out.print(strFooter);

      out.flush();
   }

   protected void printError(String error, HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
      //在使用PrintWriter前得先设置Content Type
      resp.setContentType("text/html;charset=gb2312");

      PrintWriter out = resp.getWriter();

      //输出页眉
      out.print(MessageFormat.format(strHeader,new Object[]{strTitle+" - 出错信息"}));

      //输出出错信息
      out.print(MessageFormat.format(strError,new Object[]{error}));

      //输出页脚
      out.print(strFooter);

      out.flush();
   }
}

上一个:Linux-JSP-JDBC-MySQL测试 - Insert
下一个:Servlet基础例程 - HelloServlet - Linux版本

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,