朋友。 我不擅長英語。請理解它。彈簧servlet映射
我被要求製作一個xml文件。
當我使用瀏覽器訪問以下地址時。我應該看到下面的XML。 的http://本地主機:8080 /更新/ update.jsp
<update_info app_name="ktp_app" version="2012031001" count="">
<apache_start version="20120310011255" type="bat" reg="123123" size="423">
<remote>http://192.168.0.1/ka/apache_start.bat</remote>
<remote>apache_start.bat</remote>
</apache_start>
</update_info>
但是,在web.xml 我有這樣的設置。
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.byto</url-pattern>
</servlet-mapping>
與上面,我可以處理所有我的其他請求與彈簧控制器看起來像這樣。
@Controller
public class DownloadManageController {
@Autowired
private DownloadManageService downService;
@RequestMapping("/ajax/add_download_hour")
public void addDownloadHour(HttpServletRequest request, HttpServletResponse response) throws IllegalArgumentException, SecurityException, InvalidHourRangeException, IOException, IllegalAccessException, InvocationTargetException, NoSuchMethodException {
downService.addDownloadLimit(
request.getParameter("app_cmd"),
request.getParameter("start_hour"),
request.getParameter("end_hour"),
request.getParameter("limit_count"));
}
...
}
但我也有這個控制器。
@Controller
public class UpdateXmlController extends HttpServlet {
@Autowired
private UpdateXmlService updateService;
@RequestMapping("/update")
protected ModelAndView getUpdateData(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String cmd = request.getParameter("cmd");
Map resultMap = null;
PrintWriter writer = response.getWriter();
try {
resultMap = updateService.getUpdateData(cmd);
request.setAttribute("server", resultMap.get("server"));
request.setAttribute("package", resultMap.get("package"));
request.setAttribute("file", resultMap.get("file"));
} catch(NoCmdException ex) {
return new ModelAndView("error_page", "errorMsg", ex.getMessage());
} catch(DownloadCountExceedException ex) {
return new ModelAndView("error_page", "errorMsg", ex.getMessage());
} catch(Exception ex) {
//System.out.println(ex.getMessage());
//response.getWriter().write();
ex.printStackTrace();
}
return new ModelAndView("update", "result", resultMap);
}
}
,我需要與訪問http://本地主機:8080 /更新/ update.jsp。
但是,我只訪問控制方法是用http://localhost:8080/update/update.byto
所以,這裏是我的問題
我怎麼能訪問與.JSP地址控制器。
非常感謝。
你爲什麼要*以* .jsp後綴訪問它? – skaffman 2012-03-09 16:32:26
我看到你的控制器包含太多的* request.getParameter()** s,我相信你沒有很好地利用Spring MVC。 – 2012-03-09 16:44:43
我這麼認爲,幾天前我認識了Spring,幾個月前我開始編程。 – jeon 2012-03-09 16:47:36