朋友。 我不擅长英语。请理解它。弹簧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