0
点赞
收藏
分享

微信扫一扫

SpringMVC基本使用

宁静的猫 2022-01-31 阅读 39

导入依赖

 <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.5.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.75</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.0</version>
        </dependency>
    </dependencies>
    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.properties</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

springMVC的配置文件

    <!--声明对象注解驱动-->
    <context:component-scan base-package="controller"/>
    <!--    json注解-->
    <mvc:annotation-driven/>
    <!--    斜杠处理静态资源 方式1-->
    <!--    <mvc:default-servlet-handler/>-->
    <!--    斜杠处理静态资源方式 2 -->
    <!--    <mvc:resources mapping="/" location="/"/>-->
    <!--    视图解析器-->
    <!--解决大量前边路径重复问题-->
    <!--    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">-->
    <!--前缀前后都有斜杠-->
    <!--        <property name="prefix" value="/WEB-INF/view/"/>-->
    <!--后缀-->
    <!--        <property name="suffix" value=".jsp"/>-->
    <!--    </bean>-->

web.xml

   <!--    配置中央调度器-->
    <servlet>
        <servlet-name>dis</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--        指定配置文件路径-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springMVC.xml</param-value>
        </init-param>
        <!--        对象创建顺序 -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dis</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <!--    过滤器 -->
    <!--    <filter>-->
    <!--        <filter-name>filter</filter-name>-->
    <!--        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>-->
    <!--        <init-param>-->
    <!--            <param-name>encoding</param-name>-->
    <!--            <param-value>utf-8</param-value>-->
    <!--        </init-param>-->
    <!--        &lt;!&ndash;        强制请求对象使用编码&ndash;&gt;-->
    <!--        <init-param>-->
    <!--            <param-name>forceRequestEncoding</param-name>-->
    <!--            <param-value>true</param-value>-->
    <!--        </init-param>-->
    <!--        &lt;!&ndash;        强制应答对象使用编码&ndash;&gt;-->
    <!--        <init-param>-->
    <!--            <param-name>forceResponseEncoding</param-name>-->
    <!--            <param-value>true</param-value>-->
    <!--        </init-param>-->
    <!--    </filter>-->
    <!--    <filter-mapping>-->
    <!--        <filter-name>filter</filter-name>-->
    <!--        <url-pattern>/*</url-pattern>-->
    <!--    </filter-mapping>-->

@RequestMapping() 处理请求

@RequestMapping(value="/ajax4.do",produces="text/plain;charset=utf-8")  设置编码 不然中文异常 produces属性设置响应中文数据

@RequestBody  处理ajax请求 放在请求方法前

@RequestParam 解决请求数据name和接收name不一致问题 放在接收方法形参前

Public ModelAndView doOther(@RequestParam("rName") String name,String age)

解决多次冲突访问路径

访问路径 /user/aaa.jsp   响应转发到此处 再次点击会出现404 原因是 多加个 user  /user/user/aaa.jsp

解决办法两种

1 在head中加入 base标签

<base href="http://localhost:8080/SpringMVC_04_war_exploded/">

href填入项目访问路径

2 在head加入拼接的访问路径

<%

String basePath=request.getScheme()+"://"+

request.getServerName()+":"+request.getServerPort()+

request.getContextPath()+"/";

%>

<base href="<%=basePath%>">

举报

相关推荐

0 条评论