テキストに接続されているブック
まず、様々なSpring MVCのチュートリアル、構造的基盤の確立に応じて、我々はそれが妥当であるかどうかわからないので、まず暫定的に、その問題を解決する問題があります。ピットに陥ることを恐れて、新しいことを学ぶありません。。。
その他それ以外の場合はTomcatが実行することはできません、ウェブ/ WEB-INF / libににコピーし、ルートディレクトリの下にlibディレクトリの下にすべてのパッケージを作るために、オンラインクエリの経験を言う、私がすることではないはずです、それが唯一の右のアドレス参照を持つべきだと思います問題。ピットの外に言って、複製されないために、
その後、下のプロジェクト構成、オープンファイル - >プロジェクト構造、モジュールを選択し、図の操作に応じて、出力ディレクトリを設定します。私はそれはそれは良い一致、このディレクトリを、これは自分のことを設定しなければならなかった理由の内部の.NET binディレクトリに似た出力ディレクトリをされていません理解できますか?
出力ディレクトリを設定した後、[適用]をクリックして、[依存関係]タブを選択します。DへのJARまたはディレクトリを設定するには、+ボタンをクリックしてください:\春\ libに、他の人がウェブ/ WEB-INF /クラス/ libが設定され、プロジェクトのルートディレクトリ下のLibディレクトリで、私はこれはルートのlibコピーに提出していない持っていますこのディレクトリに、私はちょうどDたい:\春\ libディレクトリ分からないが穴に落ちることはありません。その後、図書館もTomcatの8.5.43を選択し、ミックスに追加します
すべての図以下、春の要求をインターセプトできるように、ウェブ/ WEB-INFディレクトリの下に、設定のweb.xmlの完了後、主に、インターセプタを変更します。.NETでweb.configファイルに類似したweb.xml特徴と機能。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <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>*.form</url-pattern>--> <!-- 将拦截器设置为/,拦截所有请求 --> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
下边修改WEB-INF/dispatcher-servlet.xml,修改为如下内容。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <context:component-scan base-package="cn.webdev.javastudy.controller"/> <mvc:default-servlet-handler/> <mvc:annotation-driven/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> </beans>
<context:component-scan/>下的base-package是配置spring自动扫描base-package对应的路径或者该路径的子包下面的java文件,如果扫描到文件中有@Service,@Component,@Repository,@Controller等这些注解的类,就这些类注册为bean。这里主要是为了处理Controller注解类。
<mvc:default-servlet-handler/>的作用:由于在web.xml修改了拦截器设置,拦截了所有请求,也包括了静态文件,该配置项就是Spring为了处理静态文件而给出的方案,所有请求首先经过该Servlet检查,静态文件就转给Web服务器处理,不是静态文件就转给DispatcherServlet继续处理。
<mvc:annotation-driven>会自动注册RequestMappingHandlerMapping与RequestMappingHandlerAdapter两个必须的Bean。其他的更多功能暂不详细了解。
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
id="internalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
该配置是视图解析器的路径映射设置,作用就是通过前后缀来让Controller能够找到正确的视图
下面就新建一个Controller,在controller下新建一个HelloSpringMVC.java的文件,返回值为视图的名称。
package cn.webdev.javastudy.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/hello") public class HelloSpringMVC { @RequestMapping("/SpringMVC") public String SpringMVC(Model model) { model.addAttribute("welcome","Hello Spring MVC!, This is My First Spring MVC Page!"); return "hello";//视图文件名,如:hello.jsp } }
然后在/WEB-INF/jsp/下新建一个hello.jsp文件
<%-- Created by IntelliJ IDEA. User: Rick Date: 2019/7/25 Time: 17:45 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Hello Spring MVC!</title> </head> <body> ${welcome} </body> </html>
运行,自动打开浏览器,输入http://localhost:8080/hello/SpringMVC
我的第一个SpringMVC程序运行成功