使用Angular Js和JSP

时间:2015-04-26 08:30:57

标签: java angularjs jsp servlets login

我正在创建一个角度js-jsp应用程序,因为我创建了一个登录页面,我也创建了一个用于获取数据库并比较用户名和密码的servlet。 创建登录表单并在登录表单提交时传递值我的角度控制器。现在我需要访问比较登录的servlet如何将信息传递给servlet?我为此创建了一个工厂,我也必须使用post方法传递数据。

我粘贴代码直到我完成。

HTML

<div class="container">

        <form name="myForm" novalidate class="col-md-4 col-md-offset-4">
        <h2>{{login.username}}</h2>
            <div class="form-group">
                <input type="email" ng-model="login.username" required class="form-control input-lg" placeholder="Email">
            </div>

            <div class="form-group">
                <input type="password" required ng-model="login.password"  class="form-control input-lg"
                    placeholder="Password">

            </div>

            <div class="form-group">
                <input type="submit" ng-disabled="myForm.user.$dirty && myForm.user.$invalid ||  
myForm.email.$dirty && myForm.email.$invalid"  ng-click="formSubmit(login)" class="btn btn-primary btn-lg btn-block" value="Sign In"/>
                <span><a href="#">Need help?</a></span> <span class="pull-right"><a
                    href="#">New Registration</a></span>
            </div>

        </form>

    </div>

Controller.js

var appController = angular.module('appController', []);


appController.factory('AccountGroup', ['$resource', 'Data', function ($resource, Data) {
  return $resource( 
    {
      query: {
        isArray: true,
        method: 'POST'
      }
    }
  );
}]);

appController.controller('LoginController', ['$scope','$http', function ($scope,$http) {

      $scope.formSubmit = function(item) {
          debugger;
            console.log(item);
          };


}]);

这是我的eclipse目录结构

enter image description here

LoginValdiator.java是用于登录比较的servlet

2 个答案:

答案 0 :(得分:1)

您错过了在表单字段中添加name属性,这会在该字段上按角度启用表单验证规则。

<强>标记

<div class="container">

    <form name="myForm" novalidate class="col-md-4 col-md-offset-4">
        <h2>{{login.username}}</h2>
        <div class="form-group">
            <input type="email" name="email" ng-model="login.username" required class="form-control input-lg" placeholder="Email">
        </div>
        <div class="form-group">
            <input type="password" name="password" required ng-model="login.password" class="form-control input-lg" placeholder="Password">
        </div>

        <div class="form-group">
            <input type="submit" ng-disabled="myForm.user.$dirty && myForm.user.$invalid ||  
myForm.email.$dirty && myForm.email.$invalid" ng-click="formSubmit(login)" class="btn btn-primary btn-lg btn-block" value="Sign In" />
            <span><a href="#">Need help?</a></span> <span class="pull-right"><a
                    href="#">New Registration</a></span>
        </div>
    </form>
</div>

有关名称属性的详细信息,请参阅this Answer仅供我

答案 1 :(得分:1)

要访问servlet,请在Deployment描述文件(web.xml)中为该servlet添加servlet映射。

例如:

<servlet>
    <servlet-name>servlet1</servlet-name>
    <servlet-class>org.mycompany.test1</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>servlet1</servlet-name>
    <url-pattern>/path/test</url-pattern>
</servlet-mapping>

您可以在此处通过... / path / test

访问servelet