我在添加图片时遇到问题。当我按下按钮时出现错误“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;
}
答案 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();
}}