比如我写的一个注册页,servlet是这样写的      srw.RegisterBean reg = null;
      synchronized (_jspx_page_context) {
        reg = (srw.RegisterBean) _jspx_page_context.getAttribute("reg", PageContext.PAGE_SCOPE);
        if (reg == null){
          reg = new srw.RegisterBean();
          _jspx_page_context.setAttribute("reg", reg, PageContext.PAGE_SCOPE);
        }
      }
reg.setUsername(username);
reg.setPass(pass1);
reg.setNickname(nickname);
...

解决方案 »

  1.   

    1用PageContext.PAGE_SCOPE来判断要实例化bean ?bean 是在什么时候实例化的?
    2synchronized多线程
    3_jspx_page_context是什么?
      

  2.   

    不理解,用了servlet,为什么要在jsp里用bean封装表单的信息呢?应该在servlet里调用bean呀
    还用你要非那么用的话是不是应该把bean话在request里传到servlet,然后再用request.getParameter("beanName")取出来呀
    反正我是这么认为的。
      

  3.   

    那当然,因为你bean里面就没有数值,最好把它放入到request,session等中,那样get()方法才会起到作用
      

  4.   

    <jsp:useBean id="bean" class="jbean.bean" scope="request/session">
    <jsp:setProperty name="bean" property="*"/>
    就可以了
      

  5.   

    <jsp:useBean id="bean" class="jbean.bean" scope="request/session">
    <jsp:setProperty name="bean" property="*"/>
    就可以了
      

  6.   

    to:linjky(),我是你那个意思,但总要先放进去在 在servlet里调用bean呀
    先在我不知道,如果在servlet里掉用,bean 语法于应该怎么写
      

  7.   

    我觉得以MVC模式应该这么写。这么说吧,假如你的jsp里就有一个用户名的输入框,叫userName,你提交到login的这个servlet。你在login里这么写
    String userName=request.getParameter("userName");
    loginBean lb=new loginBean();
    lb.setUserName(userName);
    如果非要在jsp里定义bean,那就按 wangtong408(wangtong408) 的写,然后在servlet里
    jbean.bean b=(jbean.bean)request.getParameter("bean");
    String name=b.getName();String age=b.getAge();
    应该就可以了
    我写的可能还有不清楚的,你再回贴问吧
      

  8.   


    to:linjky(),恩,这几句话正是我需要的太谢拉,不过有如下问题
    Test.java:19: inconvertible types
    found   : java.lang.String
    required: jbean.bean
    jbean.bean b=(jbean.bean)request.getParameter("bean");
                                                 
                                                 ^
    2 errors
    不方便的话可以
    msn : [email protected]
      

  9.   

    把你的代码放出来吧,我那个request是把这里改了的public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {,你也改改看吧,主要是我不知道你的结构和文件什么的,你按自己的情况相应的改改。
    我没用MSN,我也好长时间没用过QQ了,呵呵,就这里吧,反正我没事,我也是新手,就当互相帮助了
      

  10.   

    package test; import java.io.IOException; 
    import java.io.PrintWriter; 
    import javax.servlet.ServletException; 
    import javax.servlet.http.HttpServlet; 
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 
    public class Test extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException { 
    jbean.bean b=(jbean.bean)request.getParameter("bean");
    String name=b.getName();String age=b.getAge();PrintWriter out=response.getWriter(); out.println("<br>name is "+name);
    out.println("<br>age is "+age);out.println("<html><body><h1>Thiefesfsef a servlet test.</h1></body></html>"); 
    out.flush(); } }
      

  11.   

    我有3个文件,一jsp,一个servlet,一个bean<%@ page contentType="text/html;charset=gb2312" %>
    <%@ page import="jbean.bean"%>
    <jsp:useBean id="bean" class="jbean.bean" scope="request">
    <jsp:setProperty name="bean" property="*"/>
    </jsp:useBean>
    <html>
    <body><form name="test" action ="/app/Test" method="gst" >
    <input type="text" name="name">
    <input type="text" name="age">
    <input type="submit" value="enter"></form>
        
    </body>
    </html>
      

  12.   

    晕,就为了在servlet里显示呀,你在servlet这样写
    String name=request.getParameter("name");
    String age=request.getParameter("age");
    PrintWriter out=response.getWriter(); 
    out.println("<br>name is "+name);
    out.println("<br>age is "+age);
    这样写就成了,根本用不到bean
      

  13.   

    还有jsp页面里的<form name="test" action ="/app/Test" method="gst" >里的method应该等于GET
      

  14.   

    aiya ,
    我的目的不是这样的,这只是第一步,我要接着扩展我的程序,把客户的每一个请求都对应到响应到对应的servlet里,我要学会到底怎样在servlet里获得bean的数据,
      

  15.   

    你的bean是在jbean里吗,叫bean?把代码弄出来吧
      

  16.   

    package jbean;
    public class bean implements java.io.Serializable{private String name,age;public void setName(String name)
    {this.name=name;
    }
    public void setAge(String age)
    {
    this.age=age;
    }public String getAge()
    {return this.age;
    }public String getName()
    {return this.name;
    }}
      

  17.   

    Test.java:18: inconvertible types
    found   : java.lang.String
    required: jbean.bean
    jbean.bean b=(jbean.bean)request.getParameter("bean");
                                                 ^
    1 error
      

  18.   


    jbean.bean b=(jbean.bean)request.getServletContext().getParameter("bean");
    我试图这样,也行
      

  19.   

    那是在Application范围下,比较浪费资源好像
      

  20.   

    jbean.bean b=(jbean.bean)request.getAttribute("bean");
    这样是可以编译,但运行时
    java.lang.NullPointerException
    test.Test.doGet(Test.java:22)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856
      

  21.   

    jbean.bean b=(jbean.bean)request.getServletContext().getParameter("bean");
    编译也不对,钢材打错拉