一:导入springMVC的jar包
二:配置web.xml配置文件
<servlet>
<servlet-name>springMVC</servlet-name>
<!-- 配置前端控制器 -->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置springMVC-servlet.xml的访问路径 -->
<init-param>
<!-- contextConfigLocation为固定参数 -->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/springMVC-servlet.xml</param-value>
</init-param>
<!-- 表示这个Servlet随应用程序的启动而启动 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<!-- /表示所有的请求都通过前端控制器拦截 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
三:编写控制器
springMVC-servlet.xml配置
<!-- 配置视图分解器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 配置前缀 -->
<property name="prefix" value="/"></property>
<!-- 配置后缀 -->
<property name="suffix" value=".jsp"></property>
</bean>
3.1 使用实现Controller接口的方式来创建控制器
<!-- 配置控制器的访问 name:表示访问的URL路径 -->
<bean name="/hello" class="com.pyy.controller.HelloController"></bean>
控制器类代码:
public class HelloController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
//访问路径为:localhost:8080/项目名/hello
return new ModelAndView("hello");
}
}
由于使用此方式一个控制器只能添加一个方法,所以不建议使用
3.2 使用继承MultiActionController类的方式来创建控制器
<!-- 配置控制器 name:表示配置访问的路径 class表示控制器的路径 -->
<bean name="/test" class="com.pyy.controller.HelloController">
<property name="methodNameResolver">
<!-- 引用参数方法分解的bean -->
<ref bean="parameterMethodNameResolver" />
</property>
</bean>
<!-- 参数方法名的分解 -->
<bean id="parameterMethodNameResolver"
class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<!-- 配置方法的访问方式 -->
<property name="paramName" value="do"></property>
</bean>
控制器类代码:
public class HelloController extends MultiActionController {
public ModelAndView hello(HttpServletRequest request, HttpServletResponse response) {
// 访问路径:http://localhost:8080/项目名/test?do=方法名
return new ModelAndView("hello");
}
}
由于使用此方式的访问方式不符合当前的操作方式,所以不推荐使用
3.3 使用注解的方式来创建控制器
<!-- 启用注解 -->
<mvc:annotation-driven/>
<!-- 扫描指定包下的所有的控制器 -->
<context:component-scan base-package="com.pyy.controller"></context:component-scan>
控制器类代码:
@Controller//表示这个类为控制器
//控制器的访问路径
@RequestMapping("/student")
public class ZhujieController {
//方法的访问路径
@RequestMapping("/studentList")
public ModelAndView list(){
/*返回student.jsp页面,
访问路径为localhost:8080/项目名/student/studentList*/
return new ModelAndView("student");
}
这是目前流行的配置方式,推荐使用