傻傻の  

一、配置(使用)流程

1、新建maven工程,在pom.xml中导入相关包,重要的是springmvc包,servlet包,jstl包

<dependencies>                                                                                     
<!--springmvc-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>

<!--javax.servlet-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<!-- 注意provided -->
<scope>provided</scope>
</dependency>

<!-- jstl -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<!-- 注意runtime -->
<scope>runtime</scope>
</dependency>

 

2、在web.xml中配置前端控制器

<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--
初始化参数,加载相应的springmvc配置文件
springmvc配置文件默认名称为
-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

3、在resource文件夹中增加mvc.xml,开启springmvc注解配置和包扫描

<!-- 启用springmvc注解配置 -->
<mvc:annotation-driven/>
<!-- 配置注解扫描包 -->
<context:component-scan base-package="com.tz.springmvc.controller"></context:component-scan>
<!-- 配置视图渲染器(非必须) -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 设置视图模板(默认是jsp,所以可以省略) -->
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
<!-- 结果视图前缀和后缀 -->
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>

4、在控制器中加上注解就可以使用springmvc了

//控制器
@Controller
//表示当前控制器是以/应用路径/mvc/xxx 窄化处理
@RequestMapping("/mvc")
public class MvcController {

  @RequestMapping(value="/hello2",method=RequestMethod.GET)
  public String method2(Model model){
    //向请求范围添加数据向请求范围添加数据
    model.addAttribute("message","Hello SpringMVC2");
    //跳转页面
    //转发
    return "/WEB-INF/jsp/hello.jsp";

    //如果配置视图渲染器,可以简化
    //return "hello";

  }

}

 

二、此外可以在web.xml中设置字符集过滤器,来解决中文参数乱码的问题

  请求中的乱码可以在pom.xml中设置,如下: 

    <!--tomcat插件-->
    <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
    <port>8888</port>
    <uriEncoding>utf-8</uriEncoding>
    </configuration>
    </plugin>

  页面响应的乱码在web.xml中可直接设置:

    <filter>
      <filter-name>CharacterEncodingFilter</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>
      <init-param>
      <!-- 开启强转,过程中不能被修改 -->
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
      </init-param>
    </filter>
    <filter-mapping>
      <filter-name>CharacterEncodingFilter</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>

posted on   傻傻の  阅读(275)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
 
点击右上角即可分享
微信分享提示