springMVC和其注解方式


以下是项目文件以及 各个jsp文件中所写如的测试内容:

为了方便分析 有两个Controller类

  


web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <display-name></display-name>	
  
  
  <servlet>
  	<servlet-name>mySpringmvc</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  	
  	<init-param>
  		<param-name>contextConfigLocation</param-name>
  		<param-value>classpath:springmvc-servlet.xml</param-value>
  	</init-param>
  	<load-on-startup>1</load-on-startup>
  	
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>mySpringmvc</servlet-name>
  	<url-pattern>/</url-pattern>
  </servlet-mapping>
  <!-- 设置运行tomcat时 默认打开的第一个jsp页面 即本例子中的WebRoot根目录下的index.jsp 页面-->
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

项目完成后运行:

非注解方式:

springmvc-servlet.xml:


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
        
                  <!-- 访问路径		类名,需要继承自AbstractController -->
     <bean name="/index.html" class="controller.MyController"/>

       
     <!-- 完成视图的对应 -->
	<!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->
	 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
		<property name="prefix" value="/testJsp/"/>
		<property name="suffix" value=".jsp"/>
	</bean> 
       
</beans>

对应Controller类 继承 AbstractController类

public class MyController extends AbstractController {

	protected ModelAndView handleRequestInternal(HttpServletRequest request,
			HttpServletResponse reponse) throws Exception {
		
		System.out.println("进入我的控制器");
		return new ModelAndView("index");
	}
	

}


index原本完整路径为testJsp/index.jsp

因为spring-servlet.xml中

	<property name="prefix" value="/testJsp/"/>
	<property name="suffix" value=".jsp"/>


运行非注解方式的结果为:



注解方式:

注解方式需要在 spring-servlet.xml中加入两行xml代码:

     <context:component-scan base-package="controller"></context:component-scan>
     <mvc:annotation-driven></mvc:annotation-driven>

作用是扫描指定包下的类文件 进行注解


此时MyController类不再需要继承 AbstractController类 

而是在其顶部采取注解方式:

@Controller
public class MyControllerZhujie {

	@RequestMapping("/index.html")
	public ModelAndView index() {
		System.out.println("进入我的index");
		
		return new ModelAndView("index");
	}
	
	@RequestMapping("/test.html")
	public ModelAndView test() {
		System.out.println("进入我的test");
		
		return new ModelAndView("test");
	}
		

}


spring-servlet.xml中的

<bean name="/index.html" class="controller.MyController"/>


此行代码将被ControllerZhujie类中的@RequestMapping( ) 代替

即在注解模式下不需要再使用上述<bean>说明补充相关联路径字符串进入哪个包下的哪一个类

在相对应的实体类里用 @RequestMapping( ) 括号中定义相关联路径字符串即可


注解方式运行结果:


依次输入index.html 和 test.html后,控制台中分别输出 ControllerZhujie.java中定义的

方法中的输出语句  



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要激活基于注解的配置方式,需要进行以下步骤: 1. 在Spring配置文件中添加以下内容: `<mvc:annotation-driven/>` 这个配置会启用Spring MVC的注解驱动,使得可以使用注解来配置控制器和请求处理方法。 2. 在控制器类上添加`@Controller`注解,将该类标识为一个控制器。 3. 在请求处理方法上添加`@RequestMapping`注解,用于指定请求的路径。 例如,我们可以定义一个控制器类`ExampleController`,并配置请求的路径为`example`: ```java @Controller @RequestMapping("example") public class ExampleController { // 请求处理方法 } ``` 这样,当访问`http://localhost:8080/项目名/example`时,就会调用`ExampleController`中对应的请求处理方法。 引用\[1\]和\[2\]提供了具体的代码示例,可以参考其中的内容进行配置。 #### 引用[.reference_title] - *1* [springmvc 基于注解的配置说明](https://blog.csdn.net/han1396735592/article/details/100040564)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [SpringMVC_基于注解开发](https://blog.csdn.net/guoguo0717/article/details/110225495)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值