当前位置: 代码迷 >> J2EE >> 初学,如若处理ajax和servlet关系
  详细解决方案

初学,如若处理ajax和servlet关系

热度:20   发布时间:2016-04-19 22:03:56.0
初学,如果处理ajax和servlet关系
初学java 使用了ajax请求数据,用servlet接收,然后调用类    所以servlet我相当于当一个多层的层概念。

功能实现了,但现在出现个问题   add edit delete 等等请求吧 每一个请求我都新建立个servlet 

大家是这样做吗?能简化一下吗? 我是指不使用spring struts框架等等的情况下 。


当然了 我不太想requse.getParameter 获取参数 来区分执行方法的方式。。

大家是怎么处理的。  初学就点拨
------解决方案--------------------
应该可以用同一个servlet,然后分发,楼主可以调查一下吧
------解决方案--------------------
同一个servlet,传值的时候把方法名传到后台做比对,判断调用哪一个。
比如:url:xxxx/xxx?m=method_name,在后台获取m的值,和你的方法名比较。
------解决方案--------------------
顶起2楼。。可以吧你的一些操作写到方法里面在dopost,doget里面调用就可以了,用二楼的方法用switch来调用或if esle 来调用了
------解决方案--------------------
处理方式比较多。
1.你可以配多个servlet(@WebServlet({servlet1,servlet2...}))注解配置也很方便。
2.你在访问servlet的时候传一个参数,比如:xxxx.do?method=add,然后你在你的servlet中通过得到这个参数值,然后对请求进行分发就OK了,代码简单写一下,你能看懂就行:
doPost(request,response){
String method=request.getParameter("method");
if(method.equals"add"){
  this.add(request,response);
}
if(method.equals"delete"){
  this.delete(request,response);
}
}

private void add(request,response){
....
}

private void delete(request,response){
....
}
------解决方案--------------------
4楼我觉得用switch比较好
------解决方案--------------------
引用:
应该可以用同一个servlet,然后分发,楼主可以调查一下吧


String uri=request.getRequestURI();
String action=uri.substring(uri.lastIndexOf("/"),uri.lastIndexOf("."));
if(action.equals("/add")){
代码块……
} else if (action.equals("/edit")){
代码块……
}else if (action.equals("/delete")){
代码块……
}
  相关解决方案