新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国XML论坛<<     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论Semantic Web(语义Web,语义网或语义万维网, Web 3.0)及相关理论,如:Ontology(本体,本体论), OWL(Web Ontology Langauge,Web本体语言), Description Logic(DL, 描述逻辑),RDFa,Ontology Engineering等。
    [返回] 中文XML论坛 - 专业的XML技术讨论区W3CHINA.ORG讨论区 - Web新技术讨论『 Semantic Web(语义Web)/描述逻辑/本体 』 → [求助]表单调用servlet,servlet调用jsp,调试通不过! 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 5993 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [求助]表单调用servlet,servlet调用jsp,调试通不过! 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     dorothyle 美女呀,离线,快来找我吧!
      
      
      等级:大二(研究汇编)
      文章:44
      积分:285
      门派:XML.ORG.CN
      注册:2009/9/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给dorothyle发送一个短消息 把dorothyle加入好友 查看dorothyle的个人资料 搜索dorothyle在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看dorothyle的博客楼主
    发贴心情 [求助]表单调用servlet,servlet调用jsp,调试通不过!

    该工程实现用户登录界面。check.html提供用户输入用户帐号,如果输入错误,则重新输入,如果正确则显示帐户余额。现在的情况是如果帐号不正确,可以链接到指定的页面进行重新输入;如果帐户输入正确,则提示类属性值无效。整个工程包括四个文件:

        1. check.html:表单调用servlet,并将用户输入的accountNo值传递给servlet;

        2. GetAccount:这是一个servlet,接受表单的post请求,如果用户输入的帐号不正确,则调用check.html表单,提示用户重新输入帐号;如果用户输入的帐号正确,则调用showBalance.jsp,显示帐户姓名,以及余额。但这步总是提示:

    org.apache.jasper.JasperException: /showBalance.jsp(9,0) The value for the useBean class attribute chapter41.account is invalid.
         3. 类account文件:我将这个类编绎以后的类文件放在Tomcat 6.0\webapps\root\WEB-INF\classes\文件夹下,将GetAccount的类文件也放置在上述目录下。
        如果大家谁有时间,谁有条件,能否在自己的机器上配置一下,帮我看一下是哪里的问题?万分感谢!
    check.html源代码:
    <html>
     <head><title>JSP+Servlet+JavaBean实例</title></head>
      <h2>帐户查询</h2>
      <h3>请输入帐户编号</h3>      
      <body>
        <form action="servlet/chapter41.GetAccount" method="POST">
            帐户编号:<input type="text" name="accountNo" size="20" maxlength="20"><br><br>      
                 <input type="submit" name="submit" value="查询">
        </form>
      </body>
    </html>

    GetAccount源代码:
    package chapter41;

    import java.io.IOException;
    import java.io.PrintWriter;

    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public class GetAccount extends HttpServlet {
     public void doGet(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
      
      String accountNum = (String)request.getParameter("accountNo");

          /*模拟数据库,通过姓名查找帐户信息对象*/
          account oneAccount = (account)account.getAccountInfo(accountNum);
          
          if (oneAccount == null){
             /*如果找不到相应帐户信息,则创建该帐户信息*/
             /*没有输入帐户号或帐号在数据库中不存在,则转入初始页面*/
            response.sendRedirect("../check.html");
            return;
          }
          
          /*把客户信息放在request请求对象中*/
          request.setAttribute("account",oneAccount);
          
          /*显示客户信息的jsp*/
          response.sendRedirect("../showBalance.jsp");

     }

     public void doPost(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
      this.doGet(request, response);
     }
    }
    account类文件:
    package chapter41;
    import java.util.*;

    public class account{
        protected String accountNum="";
        protected String name="";
        protected double balance=0;

        /*构造函数*/
        public account(String accountNum, String name, double balance){
             this.accountNum = accountNum;
             this.name = name;
             this.balance = balance;
        }
        
        /*模拟数据库建立几个帐户信息对象以供查找*/
       protected static account firstAccount=new account("1110812006","dorothyle",3000.0);
       protected static account secAccount=new account("86477456239","Michael",5000000.0);
       protected static account trdAccount=new account("48961856232","John",66800.0);       
       
        /*通过帐号查找客户余额等信息*/
        public static account getAccountInfo(String accountNum){
           if (accountNum == null||accountNum.equals("")){
               return null; 
           }else if (firstAccount.getAccountNum().equals(accountNum)){
                  return firstAccount;
           }else if (secAccount.getAccountNum().equals(accountNum)){
                  return secAccount;
           }else if (trdAccount.getAccountNum().equals(accountNum)){
                  return trdAccount;
           }else{
                  return null; 
           }         
        }
        /*get() 方法*/
        public String getAccountNum(){
          return accountNum; 
        }
        
        public String getName(){
         return name;
        }
        
        public double getBalance(){
         return balance;
        }
    }
    showBalance.jsp源代码:
    <%@ page contentType="text/html;charset=GB2312" %>
    <HTML>
    <HEAD>
      <title>JSP+Servlet+JavaBean实例</title>
    </HEAD>
       <H2>帐户信息显示</H2>
    <BODY>

    <jsp:useBean id="account" scope="request" class="chapter41.account" />
    <H3>欢迎您,<jsp:getProperty name="account" property="name" /> </H3>
    <H4> 下面是您帐户的最新信息:</H4>
        帐户编号:<jsp:getProperty name="account" property="accountNum"/>
      <BR>帐户余额:<jsp:getProperty name="account" property="balance"/>
    </BODY>
    </HTML>

    web.xml配置文件:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>GetAccount</servlet-name>
        <servlet-class>chapter41.GetAccount</servlet-class>
      </servlet>

      <servlet-mapping>
        <servlet-name>GetAccount</servlet-name>
        <url-pattern>/servlet/GetAccount</url-pattern>
      </servlet-mapping>
      
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2011/8/7 18:27:00
     
     dorothyle 美女呀,离线,快来找我吧!
      
      
      等级:大二(研究汇编)
      文章:44
      积分:285
      门派:XML.ORG.CN
      注册:2009/9/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给dorothyle发送一个短消息 把dorothyle加入好友 查看dorothyle的个人资料 搜索dorothyle在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看dorothyle的博客2
    发贴心情 
    大家帮忙给看看吧,书中后面的许多例子都需要用到servlet调用javaBean的,否则有点难往下走啊
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2011/8/7 20:37:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/11/21 23:18:16

    本主题贴数2,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    62.500ms