今天在路径问题上又迷糊了,看以前的笔记一时没明白,所以重新编辑一下,使得思路更清晰一些。
第一:加载web.xml之后,读哪个配置文件问题?即是applicationContext.xml还是xxx-servlet.xml?
解答:①在web.xml中配置DispatcherServlet时,看下面代码红色
dispatch
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/applicationContext.xml
在没有时,会自动寻找xxx-servlet.xml(即默认为xxx-servlet.xml,
默认路径为/WEN-INF/xxx-servlet.xml(xxx=定义的servlet-name 即dispatch),)
即是:dispatch-servlet.xml
②:如果有,就会寻找中配置的文件,不会再找xxx-servlet.xml
第二:如果配置了,那么applicationContext.xml文件在哪里?
解答:下面第一种方式,在/WebContent/WEB-INF/目录下
第二种方式,在/src/目录下
dispatch
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/applicationContext.xml
dispatch
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:applicationContext.xml
第三:url的访问路径是什么?下面是两个简单例子
举例1:url:http://localhost:8080/demo1/welcome/hello
@Controller
@RequestMapping("/welcome")
public class HelloWorldController {
@RequestMapping(value="/hello" ,method=RequestMethod.GET)
public String printWelcome(ModelMap model){
model.addAttribute("message" ,"Spring 3 MVC Hello World");
return "hello"; }
}
举例2:url:http://localhost:8080/demo1/home
@Controller
public class HomeController {
@RequestMapping("home")
public String home(){
return "home"; }
}
上面两个小例子运行最少需要的其他代码如下:
1,web.xml
dispatch
org.springframework.web.servlet.DispatcherServlet
dispatch
/
2,dispatch-servlet.xml
3,在/WEB-INF/下放两个jsp
home.jsp
hello.jsp