spring+dwr的配置问题

bigmarten 2007-11-28 08:56:29
我按照一篇整合文章的流程做下来,把dwr加到以前的一个ssh项目中,浏览器提示错误:DWRUser未定义,现把各个配置文件的代码贴出来:
web.xml:
...
<!--配置DWR拦截器-->
<servlet>
<servlet-name> dwr-invoker </servlet-name>
<servlet-class> uk.ltd.getahead.dwr.DWRServlet </servlet-class>
<init-param>
<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>
...

dwr.xml 该文件和web.xml放在WEB-INF下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create creator="spring" javascript="DWRUser">
<param name="beanName" value="userService"/>
</create>
</allow>
</dwr>
其中userService是spring中的beanid,DWRUser是调用的js对象.

applicationContext.xml
...
<bean id="userService" class="com.mobie.service.impl.UserServiceImpl" singleton="false">
<property name="userdao">
<ref bean="UserDAO" />
</property>
</bean>
...

jsp页面:
<%@ page contentType="text/html;charset=GBK" language="java"%>
<%
//Returns the portion of the request URI that indicates the context of the request.
//The context path always comes first in a request URI.
//The path starts with a "/" character but does not end with a "/" character.
//For servlets in the default (root) context, this method returns "".
//The container does not decode this string.
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<HEAD>
<BASE href=" <%=basePath%> "/>
<META http-equiv="Content-Type" content="text/html;charset=gb2312">
<TITLE> 用户登陆 </TITLE>
<LINK href="css/style.css" rel="stylesheet" type="text/css">
<script type='text/javascript' src='/dwr/interface/DWRUser.js'> </script>
<script type='text/javascript' src='/dwr/engine.js'>
</script>
<script type='text/javascript' src='/dwr/util.js'>
</script>

<STYLE type="text/css">
body{
text-align:center;
}
</STYLE>
<script type='text/javascript'>
function regUserChked(form){
var _form = form;
var username=_form.elements[0].value;
var userpwd =_form.elements[1].value;
DWRUser.findUser(username,userpwd,showData);//showData回调函数
}
function showData(data){
alert("t");
if(data){
alert("y");
DWRUtil.setValue("userMsg","该用户名已经被注册,请更换您的用户名!");
}else{
DWRUtil.setValue("userMsg","恭喜您,该用户名尚未被注册!");
}
}

</script>
</HEAD>
<BODY>
<DIV id="logina"> <IMG src="images/login.gif"/> </DIV>
<DIV id="loginb">
<FORM action="toLogin.do" method="post" name="form1">
<%
String error=(String)request.getAttribute("error");
if(error!=null){
%>
<%=error%> <BR/>
<% } %>
用户登陆名: <INPUT name="UserID" type="text" class="text"/>
登陆密码: <INPUT name="UserPwd" type="password" class="text"/>
<INPUT name="submit" type="submit" class="btn_2k3" value="登陆" onclick="regUserChked(form1)">
</FORM>
<div id="userMsg"> </div>
</DIV>

</BODY>
</html>

加上 <include method="findUser"/>也不成,关键是连DWRUser都不能识别到,急啊,在线等!
望使用过dwr的高手解答!
...全文
201 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
logonin 2008-06-27
  • 打赏
  • 举报
回复
<dwr>
<allow>
<create creator="spring" javascript="DWRUser">
<param name="beanName" value="userService"/>
</create>
</allow>
</dwr>

我没用spring,不过你试试把creator="spring"改为creator="new",然后下面加上
<include method="findUser"/>,也就是
<dwr>
<allow>
<create creator="new" javascript="DWRUser">
<param name="beanName" value="userService"/>
<include method="findUser"/>,
</create>
</allow>
</dwr>
页面的js包含改为
<script type='text/javascript' src='<%=basePath%>/dwr/interface/DWRUser.js'></script>

试试看吧
c54104 2008-06-26
  • 打赏
  • 举报
回复
挖坟..没有convert
bigmarten 2007-11-28
  • 打赏
  • 举报
回复
findUser方法如下:
public List findUser(String id,String pwd){
LOGGER.debug("根据id,pwd得到一个User对象");
String hql = "from User user where user.userId='"+id+"' and user.userPwd='"+pwd+"'";
try{
return this.getHibernateTemplate().find(hql);
}catch(Exception e){
LOGGER.error("没能findUser(id,pwd)返回list。");
e.printStackTrace();
return new ArrayList();
}
}
bigmarten 2007-11-28
  • 打赏
  • 举报
回复
登陆,那些提示信息可以不要管它,关键是DWRUser为什么识别不到?
apurt 2007-11-28
  • 打赏
  • 举报
回复
你这个是登陆还是注册饿?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧