3.注解开发Springmvc
1.使用注解开发要注意开启注解支持,
2.注解简化了,处理映射器和处理适配器,只用去管视图解析器即可
案例代码:
1.web.xml,基本不变可以直接拿去用
<!--调用DispatcherServlet-->
<servlet>
<servlet-name>springmvc</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>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
2.spring,vc-servlet.xml
<!--自动扫描包,让指定的包下注解生效,交给IOC容器同一管理-->
<context:component-scan base-package="com.kuang.controller"/>
<!--让springmvc不处理静态资源,.css.js.html.mp3等等-->
<mvc:default-servlet-handler/>
<!--支持mvc注解驱动,这是给我们自动开启了映射器和适配器-->
<mvc:annotation-driven/>
<!--配置视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
注意
这里要在头文件导入包。在原始的xml头文件中,在加上context和mvc,自己都可以改
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
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
在这个配置中,导入包,忽略静态资源,和开启注解支持,在后面都可以不变,继续使用。开启注解支持为我们省去了映射器和适配器。
3.HelloServlet.java
//添加注解,表示被spring接管了
@Controller
public class HelloController {
@RequestMapping("/hello")//映射地址,RequestMapping可以在方法也可以在类上。
public String hello(Model model){
model.addAttribute("msg","hello,springmvc,注解");
return "hello";//返回到视图解析器
}
}
@RequestMapping即可以在方法上也可以在类上,还可以在整个文件的最上面的父类,表示将整个类都是这个请求的。
4.hello.jsp最后获取msg
${msg}
错误整理:
- 在注解开发中,如果报UTF-8错误,就把UTF-8改为UTF8。
- 把查看是否在生成的war包有lib包,如果没有进按案例一方式进行添加,一定在WEB-INF下。
原文地址:https://blog.csdn.net/weixin_45263852/article/details/115101400
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。