我有一個從表單填寫並提交時我希望請求是http://localhost:8080/restroo/admin/adminLog
但它給http://localhost:808/adminLog
並獲得404錯誤。我不知道爲什麼我會遇到這個問題,實際上我在春天使用兩個控制器時遇到了問題。網址在春天更改
的web.xml
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-
class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
我已經爲spring-servlet.xml
admin.jsp
<form method="post" action="/adminLog" modelAttribute="adminUser">
First Name: <input type = "text" name = "userName">
<br />
password <input type = "password" name = "password" />
<input type = "submit" value = "Submit" />
</form>
AdminPageController.java
@Controller
@RequestMapping("/admin/*")
public class AdminPageController {
@Autowired
AdminUser adminUser;
@Autowired
MenuItems menuItems;
@Autowired
MenuItemsDao menuItemsDao;
@Autowired
AdminLoginDao adminLoginDao;
@RequestMapping(value="", method=RequestMethod.GET)
public ModelAndView addMenuItems(@ModelAttribute MenuItems menuItems){
// if(menuItems != null){
// menuItemsDao.addItems(menuItems);
// }
return new ModelAndView("admin");
}
@RequestMapping(value="/adminLog", method=RequestMethod.POST)
public ModelAndView adminLogin(@ModelAttribute("adminUser") AdminUser ad){
List<AdminUser> adminUser = adminLoginDao.adminLogin();
int len = adminUser.size();
for(int i=1;i<=len;i++){
String userN = adminUser.get(i).getUserName();
String pass = adminUser.get(i).getPassword();
if(userN.equals(ad.getUserName()) && (pass.equals(ad.getPassword()))){
return new ModelAndView("adminLogin");
}
}
return new ModelAndView("admin");
}
}
非常感謝您的回答。我嘗試了你建議的方式,但也沒有爲我工作 當我改變了形式的動作,然後URL變爲'http:// localhost:8080/restroo/admin/admin/adminLogin',並給出錯誤號找到處理程序 –
如果您嘗試不加改變地離開表單,該怎麼辦? –
我得到了問題解決,但我怎麼不知道 –