[英]Can't add Image http.post POST 500 internal server error. AngularJS Java Spring
我在添加图片时遇到问题。 当我按下按钮时,出现错误“ POST http:// localhost:8080 / image / addImage 500(内部服务器错误)”。 我认为使用我的控制器和类一切都不错,但我只知道angularJS的基本知识。 我在Google上找不到适合我的好的解决方法。 感谢帮助!
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;
}
谢谢您回答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();
}}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.