JSP页面代码如下
<%@ page import="java.sql.*" %>
<%@ page import="java.lang.*" %>
<%@page contentType="text/html" pageEncoding="GB2312"%>
<!DOCTYPE html>
<BODY>
    <P>输入姓名:
    <FORM action="Count" method="get">
        <INPUT type=text name=number>
        <INPUT type=submit value="提交">
        <%  
            String rea1 = request.getPatameter("read");
            out.print(read1);
        %>
    </FORM>
</body>
servlet代码如下public class Count extends HttpServlet {
    public void service(HttpServletRequest req,HttpServletResponse res)throws IOException
    {   
        String read = "darc";
        PrintWriter out = res.getWriter();
        res.setContentType("text/html;charset=GB2312");
        String number = req.getParameter("number");
        req.setCharacterEncoding("gbk");
        out.print("<BR>"+"hello"+number);
    }
}目的就是想让servlet中定义的String read参数传到JSP页面中显示出来,JSP页面打印出来的read1是null,请问代码有什么问题

解决方案 »

  1.   

    request.setAttubute("read",read);  
    request.getRequestDispatcher("/url").forward(request,response);   
      

  2.   

    servlet里把read放到request里,在页面用你的方法取就好,你现在只是取,但还没有放进去,所以是空值
      

  3.   

    Servlet要这样写才能跳转向jsp文件,你的写法两个文件根本无关
    request.setAttubute("read",read); 
    //假设你的jsp文件名称是:test.jsp  
    request.getRequestDispatcher("test.jsp").forward(request,response); 
      

  4.   

    Servlet要这样写才能跳转向jsp文件,你的写法两个文件根本无关
      

  5.   

    你jsp的response对象从哪来的?有想过吗?是Servlet引擎的,你要想jsp的response是Count的,必须要用转发 forward方法
      

  6.   

    request.setAttubute("read",read); 存到作用域里面去了
     JSP才能获得这个read的值