SSH框架里页面如何请求一个Servlet(用来进行用户验证)我的做法:1.UserValidate extends HttpServlet{
init() throws ServletException {
System.out.println("UserValidate.init()+++++++++++++++++++++++++++");

service( request,  response)
throws ServletException, IOException {
//从网上看来的调用方法
ServletContext sc = request.getSession().getServletContext();
ApplicationContext ctx =WebApplicationContextUtils.getWebApplicationContext(sc)    
um =(UserManager)ctx.getBean("userManager");
try{
String name = request.getParameter("username");
System.out.println("--------------调用()-------------------------------");
if (um.findUserByName(name)) {
response.getWriter().print("用户已经存在");
}
 }
 
 2.web.xml里配置UserValidate
 3.Spring里配置UserManager,UserAction
 4.页面里用Ajax请求
   function validate() {
    var url = "../servlet/UserValidate?username=" + tt + "&timestamp=" + new Date().getTime(); }
   function callback() {}综上:我想通过页面里请求一个servlet来验证用户是否已经存在,并且
      在页面里通过Ajax给用户名后面给出提示信息(用户是否已经存在),
      以前不使用框架的时候没什么问题,现在使用框架,应该是UserValidate没有初始化,
      页面给出的提示信息是404错误.向高手请教:SSH框架里页面如何请求一个Servlet. Spring里还应该增加什么配置吗,
UserValidate里还需要加入什么吗,有了框架后Tomcat是否无法实例化UserValidate,
这些问题该如何解决,谢谢了!(在网上查了些资料,都有些乱,不是很系统)

解决方案 »

  1.   

    既然是SSH了,直接放在ActionForm 的 validate()方法里验证不就得了?
      

  2.   

    谢谢楼上,我主要还是想问一下这个通过servlet验证和spring注入的原理,
    有些简单的前端验证我觉得还是通过这种Ajax验证原理更加直观一些!!!
      

  3.   

    你用的struts1.x 还是struts 2 啊
    两者是不同的
      

  4.   

    谢谢,回答楼上,我使用的是Struts1.x
      

  5.   

    你可以直接调用servlet,也可以直接调actionvar url = "../servlet/UserValidate.action?username=" + tt + "&timestamp=" + new Date().getTime(); } 在action里直接用request.getParameter()得到参数,不用spring管理这个action,
    像这种的一个项目里你有许多ajax访问action,,spring就不能直接管理这种action了,
    如何你要用ajax的DWR框架也可以与spring整合,
      

  6.   


    思想有问题吗?过滤器一般不是用在已有用户登录时进行验证吗,
    现在注册一个新用户,为了增强用户体验,你新写个用户名,Ajax会在
    用户名后面直接给出醒目提示信息(用户是否存在),和过滤器有什么关系,
    要使用过滤器可以的话,那struts还使用validate()方法还有什么意义?
    不知道我说的对不对!!!
      

  7.   


    前半部分说的好像不太适用,我这里一般就是直接请求一个servlet,就是使用SSH框架后,Servlet
    无法实例化了,本来Spring就没有配置Servlet。
    后面说的可以使用dwr,这个我没有在这种验证的情况使用过,我可以试一下,谢谢回答!!!
      

  8.   

    你要例子的话我到有个
    纯jsp的
      

  9.   


    呵呵,纯jsp的话我发的帖子直接就可以验证了,主要是
    和SSH集成的问题(Struts1.x),谢谢,不用了,纯jsp直接请求就可以了!!
      

  10.   

    直接用AJAX不就可以了吗?还要SRING干嘛啊?
      

  11.   

       楼主使用了struts1.x就可以直接使用ActionForm进行表单的验证 用Action进行逻辑验证 
      

  12.   

    楼主的意思是想用AJAX技术来实现一个验证用户名是否存在的功能吧,而且存在不存在需要及时的给出用户提示,所以直接用Struts的ActionForm是没有办法实现的。
      

  13.   


    //下面是我从别处引用过来的
    有人会说,Struts中不是有服务器端验证码,而且给人的交互也是很好的,那为什么还需要AJAX进行验证了?以我的经验和爱好的话说,我觉得服务器端和客户端的验证都必须要,这个有的时候是为了防止别人进行恶意的网址注入,也许现在我们做了更完善的验证的话,以后我们的网站就少了很多不必要的恶意破坏。//我看过一些代码,有点乱,主要我是想通过这个了解下经过Spring管理后,以前在Jsp里请求Servlet
    的一些简单的原理
    Spring的validate()验证就是使用的dwr和dojo的实现,上面的 xiaowei3856 朋友给出了的思路
    还可以!!!
      

  14.   

    //这个也是我从别处摘来的一些简单原理
    下面介绍在Servlet(或者Filter,或者Listener)中使用spring的IOC容器默认情况下Servlet容器创建spring容器对象,注入到servletContext中,servletContext对象又是注入到session对象中,session对象又是注入到request对象中,request对象又是注入到servlet对象中,(其实不是很标准的注入,是传参数,或者对属性直接付值)。层层依赖可以得到spring容器对象。
    呵呵,有点抽象,因为可能对于一些深层原理了解的还不是太深!!!