加入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>

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

...全文
105 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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> 试试,

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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