springMVC的配置与控制器的编写

一:导入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");
	}

这是目前流行的配置方式,推荐使用


猜你喜欢

转载自blog.csdn.net/pyy542718473/article/details/71152780