正在装载数据…… 今天开始动手学习Servlet,从最基本的HelloWord程序开始,在Servlet中用 String str = request.getParamete(String paramete_name); 获得从一个JSP页面传递过来的POST对象时,页面显示乱码; 查询javadocs文档和一些jsp Servlet资料,终于解决问题,解决这个问题共花费了两个多小时 同时也弄明白了关于Servlet的基本语法,下面是今天晚上的研究成果(以源代码贴出): public class HelloWorld extends HttpServlet { /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(”text/html;charset=GB2312″);//设置Servlet页面类型和编码 PrintWriter out = response.getWriter();//获取输出对象 //设置request对象的编码方式,包含post和get两种方式 request.setCharacterEncoding(”GB2312″); String username = request.getParameter(”username”);//获取参数username ServletConfig config = getServletConfig();//创建读取web.xml文件的对象 if(username == null){ //获取Servlet中该Servlet的初始化参数username username = config.getInitParameter(”username”); } /* 输出html*/ out.println(”<html>”); out.println(”<head>”); out.println(”<meta http-equiv=\”Content-Type\” content=\”text/html; charset=GB2312\”>”); out.println(”<title>Servlet HelloWorld</title>”); out.println(”</head>”); out.println(”<body>”); out.println(”<h1>Servlet HelloWorld at ” + request.getContextPath () + “</h1>”); out.println(”<h1>Hello!你的名字是1: “+username+”</h1>”); out.println(”</body>”); out.println(”</html>”); out.close(); } // <editor-fold defaultstate=”collapsed” desc=”HttpServlet methods. Click on the + sign on the left to edit the code.”> /** Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** Returns a short description of the servlet. */ public String getServletInfo() { return “Short description”; } // </editor-fold> } 配置文件web.xml <?xml version=”1.0″ encoding=”UTF-8″?>//xml编码 <web-app version=”2.4″ xmlns=”http://java.sun.com/xml/ns/j2ee” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd”> <servlet> <servlet-name>HelloWorld</servlet-name>//Servlet名字,唯一标识 <servlet-class>com.wlmzfx.servlet.HelloWorld</servlet-class>//Servlet类库路径 <init-param>//初试化参数 <description>this is a test servlet</description> <param-name>username</param-name> <param-value>wang</param-value> </init-param> </servlet> <servlet-mapping>//url映射,指定url路径为“/HelloWord”时调用“HelloWord”Servlet <servlet-name>HelloWorld</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping> <servlet-mapping>//url映射,指定所有以.do为后缀的文件调用“HelloWord”Servlet <servlet-name>HelloWorld</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <session-config>//指定session的过期时间,30表示30分钟后过期 <session-timeout> 30 </session-timeout> </session-config> <welcome-file-list>//指定欢迎页(首页文件名) <welcome-file> index.jsp </welcome-file> </welcome-file-list> </web-app> 本文来源:http://blog.csdn.net/wlmzfx/archive/2007/09/09/1778312.aspx
|