Java 为什么我无法插入和更新? 您得到的错误是什么?请发布您的错误,这将有助于我们解决您的问题。从add.jsp插入时,我得到HTTP状态400-必需的int参数';身份证号码';不存在并记录警告“警告:在名为“dispatcher”的Dispatc

Java 为什么我无法插入和更新? 您得到的错误是什么?请发布您的错误,这将有助于我们解决您的问题。从add.jsp插入时,我得到HTTP状态400-必需的int参数';身份证号码';不存在并记录警告“警告:在名为“dispatcher”的Dispatc,java,spring,model-view-controller,Java,Spring,Model View Controller,为什么我无法插入和更新? 您得到的错误是什么?请发布您的错误,这将有助于我们解决您的问题。从add.jsp插入时,我得到HTTP状态400-必需的int参数';身份证号码';不存在并记录警告“警告:在名为“dispatcher”的DispatcherServlet中找不到URI为[/Hotels]的HTTP请求的映射”。第2次尝试使用编辑jsp进行更新时,它被插入为新id,我也无法更新映像。 <%@include file="../header.jsp" %>

为什么我无法插入和更新?
您得到的错误是什么?请发布您的错误,这将有助于我们解决您的问题。从add.jsp插入时,我得到HTTP状态400-必需的int参数';身份证号码';不存在并记录警告“警告:在名为“dispatcher”的DispatcherServlet中找不到URI为[/Hotels]的HTTP请求的映射”。第2次尝试使用编辑jsp进行更新时,它被插入为新id,我也无法更新映像。
    <%@include file="../header.jsp" %>
    <h1>Add Room</h1>
    <form action="save" method="post" enctype="multipart/form-data">
        <div class="form-group">
            <label>Room Type</label>
            <input type="text" name="roomType" placeholder="Enter Room Type" required="required" class="form-control"/>
        </div>
        <div class="form-group">
            <label>Room Description</label>
            <input type="text" name="roomDescription" placeholder="Enter Room Description" required="required" class="form-control"/>
        </div>

        <div class="form-group">
            <label>Room Number</label>
            <input type="number" name="roomNumber" placeholder="Enter Room Number" required="required" class="form-control"/>
        </div>
        <div class="form-group">
            <label>Room Image</label>
            <input type="file" name="file" placeholder="Select Room Image" required="required" class="form-control"/>
        </div>

          <div class="form-group">
            <label>Room Image</label>
            <input type="hidden" name="ro_id" value="${Room.ro_id}" placeholder="Select Room Image" required="required" class="form-control"/>
        </div>
        <div class="form-group"> 
        <button type="submit" class="btn btn-success"  value="submit">Save</button>
        </div>
    </form>
    <%@include  file="../footer.jsp" %>
<%@include file="../header.jsp" %>
    <h1>Edit Room</h1>
    <form action="${SITE_URL}/admin/room/save"  method="post" enctype="multipart/form-data">
        <div class="form-group">
            <label>Room Type</label>
            <input type="text" name="roomType" value="${Room.room_type}" required="required" class="form-control"/>

        </div>
        <div class="form-group">
            <label>Room Description</label>
            <input type="text" name="roomDescription" value="${Room.room_description}" required="required" class="form-control"/>
        </div>

        <div class="form-group">
            <label>Room Number</label>
            <input type="number" name="roomNumber" value="${Room.room_number}" required="required" class="form-control"/>
        </div>
        <div class="form-group">
            <label>Room Image</label>
            <input type="file" name="file"  link src="D:/Hotels/uploadedImage/${Room.image}"   required="required" class="form-control" />
        </div>
        <form:hidden path="${Room.ro_id}" />
        <input type="text" value="${Room.ro_id}" name="id"/>
        <div class="form-group"> 
        <button type="submit" class="btn btn-success" value="editroom/ro_id" >Save</button>
        </div>
    </form>
<%@include  file="../footer.jsp" %>
/**
 *
 * @author 
 */
@Controller
@RequestMapping(value = "/admin/room")

public class Roomcontroller {

    @Autowired
    private RoomService roomService;

        @RequestMapping(method = RequestMethod.GET)
        public String index(ModelMap map) throws SQLException {
            map.addAttribute("Room", roomService.getAll());
            return "admin/room/index";
        }
        @RequestMapping(value = "/addroom", method = RequestMethod.GET)
        public String addRoom() throws SQLException {
            return "admin/room/addroom";
        }
        @RequestMapping( value = "/editroom/{ro_id}", method = RequestMethod.GET )
        public @ResponseBody ModelAndView edit(@PathVariable("ro_id") int ro_id) throws SQLException {
            ModelAndView mv = new ModelAndView("admin/room/editroom");
            mv.addObject("Room", roomService.getById(ro_id));
            return mv;
        }
        @RequestMapping(value = "/deleteroom/{ro_id}", method = RequestMethod.GET)
        public String delete(@PathVariable("ro_id") int ro_id) throws SQLException {
            roomService.delete(ro_id);
            return "redirect:/admin/room";
        }
        @RequestMapping(value = "/save", method = RequestMethod.POST)
        public String save(@RequestParam("roomType") String roomType,@RequestParam("id") int id,
    @RequestParam("roomDescription") String roomDescription, @RequestParam("roomNumber") int roomNumber
        ,@RequestParam("file") MultipartFile multipartFile,HttpServletRequest req) throws SQLException, IOException {

    Room attributes 
        Room room = new Room();
        room.setRo_id(id);`
        room.setRoom_type(roomType);
        room.setRoom_description(roomDescription);
        room.setRoom_number(roomNumber);

        // TO DO : Save room, fetch the id of saved room and set it through
        // setter in above object.
        System.out.println(room.getRo_id());   
        if(room.getRo_id()==0){
            System.out.println(room.getRo_id());
            String serverRootPath = req.getServletContext().getRealPath("");
            System.out.println(serverRootPath);
            // You can change the directory.
            File roomImageDirectory = new File("D:\\Hotels\\uploadedImages");
            if (!roomImageDirectory.exists()) {
                 roomImageDirectory.mkdirs();
            }
            String[] fileNameToken = multipartFile.getOriginalFilename().split("\\.");
            // You can change file name to be saved.
            String newFileName = "room-" + room.getRoom_number() + "." + fileNameToken[fileNameToken.length - 1];
            File roomImage = new File(roomImageDirectory, "/" + newFileName);
            roomImage.createNewFile();
            multipartFile.transferTo(roomImage);
            room.setImage(newFileName);
            roomService.insert(room);  
        }
        else
        {
             roomService.update(room);
        }
        return "redirect:/admin/room";  
    }
}