第一:加載web.xml之后,讀哪個配置文件問題?即是applicationContext.xml還是xxx-servlet.xml?
解答:①在web.xml中配置DispatcherServlet時,看下面代碼紅色
<servlet>
??? <servlet-name>dispatch</servlet-name>
??? <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>?
???? <init-param>
?? <param-name>contextConfigLocation</param-name>
?? <param-value>/WEB-INF/applicationContext.xml</param-value>
? </init-param>
? </servlet>
在沒有<init-param>時,會自動尋找xxx-servlet.xml(即默認為xxx-servlet.xml,
javaweb配置環境的步驟? 默認路徑為/WEN-INF/xxx-servlet.xml(xxx=定義的servlet-name 即<servlet-name>dispatch</servlet-name>),)
即是:dispatch-servlet.xml
??????? ②:如果有<init-param>,就會尋找<init-param>中配置的文件,不會再找xxx-servlet.xml
第二:如果配置了<init-param>,那么applicationContext.xml文件在哪里?
解答:下面第一種方式,在/WebContent/WEB-INF/目錄下
iptables配置文件? ???? 第二種方式,在/src/目錄下
<servlet>
??? <servlet-name>dispatch</servlet-name>
??? <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>?
???? <init-param>
?? <param-name>contextConfigLocation</param-name>
?? <param-value>/WEB-INF/applicationContext.xml</param-value>
? </init-param>
? </servlet>
<servlet>
??? <servlet-name>dispatch</servlet-name>
??? <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>?
???? <init-param>
?? <param-name>contextConfigLocation</param-name>
?? <param-value>classpath:applicationContext.xml</param-value>
? </init-param>
? </servlet>
第三:url的訪問路徑是什么?下面是兩個簡單例子
?
nginx默認配置文件路徑,舉例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
<servlet>
??? <servlet-name>dispatch</servlet-name>
??? <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
? </servlet>
???? <servlet-mapping>
??? <servlet-name>dispatch</servlet-name>
??? <url-pattern>/</url-pattern>
?????</servlet-mapping>
ifcfg配置文件、2,dispatch-servlet.xml
<!-- 在xml配置了這個標簽后,spring可以自動去掃描base-pack下面或者子包下面的Java文件,
?如果掃描到有@Component @Controller@Service等這些注解的類,則把這些類注冊為bean -->
<context:component-scan base-package="com" />
<!-- viewResolver將把邏輯視圖名解析為具體的view,通過這種策略模式,很容易更換其他視圖模式
????? 如:InternalResourceViewResolver將邏輯視圖名解析為jsp -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
? <property name="prefix" value="/WEB-INF/" />
? ? ?<property name="suffix" value=".jsp" />
?? ? <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
???? </bean>
idea設置jdk路徑,3,在/WEB-INF/下放兩個jsp
home.jsp
<body>hello spring!</body>
hello.jsp
<body> <h1>Message: ${message}</h1> </body>
如何驗證java環境變量是否配置成功、以上為轉載,博主 :ysloong? 感謝前輩
?
下為今天的筆記:
錯誤:路徑404, 可以訪問項目中的WEB-INF外的jsp文件,但不可以通過controller訪問文件,判斷是掃描注解包 context:component-scan?出現問題
解決:
安裝SQL配置文件路徑更改?
改為:
畫蛇添足加上.*導致無法掃描到contorller注解
?
多少條路徑問題,對Spring-MVC中的控制器進行詳細筆記:
1.DispatcherServlet
配置節點:在web.xml中配置
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
</servlet>
?
本地配置文件在哪,2.ViewResolver
將邏輯視圖解析為jsp
配置于dispatcherServlet中配置的spring-mvc.xml中
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
? <property name="prefix" value="/WEB-INF/" />
? ? ?<property name="suffix" value=".jsp" />
?? ? <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
</bean>
?