springMVC的配置与控制器的编写 短命女 2023-10-17 12:56 1阅读 0赞 一:导入springMVC的jar包 ![SouthEast][] 二:配置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"); } 这是目前流行的配置方式,推荐使用 [SouthEast]: https://img-blog.csdn.net/20170503202002463?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHl5NTQyNzE4NDcz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
还没有评论,来说两句吧...