无法添加Image http.post POST 500内部服务器错误。 AngularJS Java Spring

时间:2017-02-09 00:24:28

标签: java angularjs spring

我在添加图片时遇到问题。当我按下按钮时出现错误“POST http://localhost:8080/image/addImage 500(内部服务器错误)”。我认为我的控制器和课程一切都很好但我知道只有angularJS的基础知识。我在谷歌上找不到好的决心我正在写这里。谢谢你的帮助!

JS

var ImageController = function($scope, $routeParams, $http) {

$scope.name = $routeParams.name;

$scope.url = "i.imgur.com/" + $scope.name;


$scope.image = {};


$scope.addNewImage = function(image) {

    $http.post('image/addImage', image).success(function() {
        $scope.image.name = '';
    })
};}

位指示

@RequestMapping("/image")
@Controller
public class ImageController {

@RequestMapping(value = "/addImage", method = RequestMethod.POST)
public @ResponseBody void addImage(@RequestBody Image image) {imageService.addImage(image); }

图像类

@Entity
@Table(name = "IMAGE")
public class Image {

@Id
@GeneratedValue
private Long id;


@NotEmpty
@Column(name="URL", nullable=false)
private String url;


public Image(Long id, String url) {
    this.id = id;
    this.url = url;
}

HTML http://pastebin.com/73MExyJ8

1 个答案:

答案 0 :(得分:0)

感谢您回答David,我在Java中没有任何堆栈跟踪。我检查数据库,但我没有任何新记录。也许我的保存对象到数据库的代码是不正确的。

public interface ImageService {
 public void addImage(Image image);}

用工具

@Service("imageService")
public class ImageServiceImpl implements ImageService {
@Override
public void addImage(Image image)
{

    HibernateUtil hibernateUtil = new HibernateUtil();
    SessionFactory sessFact = hibernateUtil.getSessionFactory();
    Session session = sessFact.getCurrentSession();
    org.hibernate.Transaction tr = session.beginTransaction();

    System.out.println(tr.isActive());

    session.save(image);

    tr.commit();
}}