加入struts2的过虑器之后ajax的servlect服务器程调用不起来

issanyang 2013-02-13 03:25:20
加入struts2的过虑器之后ajax的servlect服务器程调用不起来
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

之后无法ajax无法使用,具体的就是没有调用servlect中的ChangeInfo.java文件
之前的可以调用这个文件
这前这个项目是struts1现在我改成struts2 只加入struts2的过滤器,之前的连接啥的都没有变化ajax就无法使用了不知道为啥

1:我的js文件代码
function setProUnis(o) {

createXMLHttpRequest();
if (xmlrequest) {
//准备发送请求
var req = "/xiaonei/ChangeInfo?proid="+o.id+"&cid="+o.coords;
//window.alert(req);
//打开请求
xmlrequest.open("get", req, true);
//指定处理结果的函数
xmlrequest.onreadystatechange = getProUnis;
//发送请求
xmlrequest.send();
}
}
function showMyUni(o) {

//取出被点击的大学的名称.o.innerHTML
//document.getElementById("university").value=o.innerHTML;
$("#university").val(o.innerHTML);
//把选择大学的框框关闭
//document.getElementById("uniDiv").style.display="none";
$("#uniDiv").css("display","none");
//document.getElementById("uuniversity").value=o.id;
//隐藏域
$("#uuniversity").val(o.id);
}

2:servlect的文件代码ChangeInfo.java
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/xml;charset=gbk");
//让ie禁用缓存
response.setHeader("Cache-Control", "no-cache");
PrintWriter out = response.getWriter();
//相应用户不同省/直辖市的大学信息的请求
String proid=request.getParameter("proid");
String cid=request.getParameter("cid");
System.out.println("proid="+proid); //根本打印不出这句话 连proid=都打印不出来,
System.out.println("cid="+cid);
...........
..........
//剩下的省略了
}


3:web.xml中的配置
<servlet-name>ChangeInfo</servlet-name>
<servlet-class>com.xiaonei.servlet.ChangeInfo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ChangeInfo</servlet-name>
<url-pattern>/ChangeInfo</url-pattern>
</servlet-mapping>

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

有那位大侠抽空看看啊,,急死了

...全文
56 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lvzg_005 2013-02-17
<filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 被struts过滤器拦截掉了
  • 打赏
  • 举报
回复
getProUnis这个回调函数看下,还有你先把&替换为他的转义符看下
  • 打赏
  • 举报
回复
因为你配置的struts核心控制器的 /* 已经拦截了,struts没有找到合适的方法所以访问不到。 我觉得可以 在servlet中加入<load-on-startup>1</load-on-startup> 试试,
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
加入

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2013-02-13 03:25
社区公告
暂无公告