继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

DWR初探

你们谁_还敢再上
关注TA
已关注
手记 1
粉丝 1
获赞 18

1.下载dwr.jar,导入lib
2.web.xml
<!-- 配置DWR -->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<!-- 是否开启调试模式,开发模式true,正式模式false -->
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
3.dwr.xml(与web.xml平行)
<?xml version="1.0" encoding="UTF-8"?>

<dwr>

<allow>

<create creator="new" javascript="Name" >  

   <param name="class" value="com.oracle.action.UserAction" />  

   <include method="nameSearch"/>  

</create>  

</allow>

</dwr>
4.部署,启动服务器,地址栏输入
http://localhost:8080/当前项目名称/dwr/index.html
.点击进入
url:http://localhost:8080/auction/dwr/test/**
注意:在web.xml文件中将/
暂时设置为.action或.do,否则进不到下一页面,

复制当前
<script type='text/javascript' src='/auction/dwr/engine.js'></script>
<script type='text/javascript' src='/auction/dwr/interface/Name.js'></script>
<script type='text/javascript' src='/auction/dwr/util.js'></script>
至相应jsp页面

5.引入jQuery jar,
<script type="text/javascript" src="jquery-1.7.2.js"></script>
因为全程采用Struts标签,注意到也可直接注册onclick,onkeyup,方法
仅供参考:
  <script type="text/javascript">
   $(document).ready(
       function (){
          $("#uname").keyup(
             function (){
                 var uname=$("#uname").val();
                  //alert(uname);
                 Name.nameSearch(uname,callback);
             }
         );
          function callback(msg){
               //alert(msg);
               //msg 用于接收服务器传回的值,在本例中为“用户名已存在!”
          $("#result").text(msg);//在页面id值为result的div中显示
       }
      }
  );

  </script>
  -------------------------------------------------------------------

6.action 中暴露给其方法为
/**

  • 遍历数据库中用户
  • ajax
    */
    public String nameSearch(String uname){
    /
    省略若干......
    /
    return "用户名已存在!";
    }
    7:补充
    整体基于SSH框架
    由于Action 中要调用业务逻辑层,牵扯到spring的对象管理,
    直接使用业务逻辑Biz对象,将会导致页面一直弹出errord的提示框
    故经考虑后 决定在Action 中重新写一遍 访问数据库的对应方法
    如下:
    /
  • 遍历数据库中用户
  • ajax
    */
    public String nameSearch(String uname){
    String message=null;
    Session session=HibernateUtil.getSession();
    Transaction ta=session.beginTransaction();
    Query query=session.createQuery("from User u where u.uname=:name");
    query.setParameter("name", uname);
    User user=(User)query.uniqueResult();
    ta.commit();
    session.close();
    if(null==user){
    message="用户名可用!";
    }else{
    message="用户名已存在,换个注册吧!";

    }
    
    return message;

    }

打开App,阅读手记
4人推荐
发表评论
随时随地看视频慕课网APP