springmvc之Hello World及常用注解
程序员文章站
2022-07-11 08:18:55
步骤: 加入jar包 在web.xml 中配置DispacherServlet 加入SpringMVC 配置文件springmvc.xml 编写请求处理器(action/controller) 编写视图 在web.xml 中配置DispatcherServlet 加入SpringMVC配置文件spr ......
步骤:
- 加入jar包
- 在web.xml 中配置dispacherservlet
- 加入springmvc 配置文件springmvc.xml
- 编写请求处理器(action/controller)
- 编写视图
在web.xml 中配置dispatcherservlet
<!-- 配置dispatcherservlet --> <servlet> <servlet-name>springdispatcherservlet</servlet-name> <servlet-class>org.springframework.web.servlet.dispatcherservlet></servlet-class> <!-- 配置dispatcherservlet的一个初始化参数:配置springmvc文件的名称和位置 --> <init-param> <param-name>contextconfiglocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <!-- 在当前应用被加载的时候创建 --> <load-on-start>1</load-on-start> </servlet> <servlet-mapping> <servlet-name>springdispatcherservlet</servlet-name> <!-- 应答所以请求 --> <url-pattern>/*</url-pattern> </servlet-mapping>
加入springmvc配置文件springmvc.xml
创建xml,选择beans/context/mvc
<!--启用spring的一些annotation --> <context:annotation-config/> <!-- 配置注解驱动 可以将request参数与绑定到controller参数上 --> <mvc:annotation-driven/> <!-- 静态资源默认servlet配置 --> <mvc:default-servlet-handler/> <!-- 配置自动扫描的包:解析action(controller) --> <context:component-scan base-package="com.xxx.xxx"></context:component-scan> <!-- 配置视图解析器: 如何把handler 方法返回的值解析成实习的物理视图 --> <bean class="org.springframework.web.servlet.view.internalresourceviewresolver"> <!-- 前缀 --> <property name="prefix" value="/web-inf/views"></property> <!-- 后缀 --> <property name="suffix" value=".jsp"></property> </bean>
requestmapping 注解
1.spring mvc 使用@requestmapping 注解为控制器指定可以处理那些url请求
2.在控制器的类定义及方法定义出都可以标注
@requestmapping
- 类定义出:提供初步的请求映射信息。相对于web应用的根目录 - 方法处:提供近异步的细分映射信息。相对于类定义处的url。若类定义处未标注@requestmapping,则方法标记的url相对于web应用的跟目录
3.dispacherservlet截获请求后,就通过控制器上@requestmapping提供的映射信息确定请求所对应的处理方法
4.@requestmapping 的value、method(post,get)、params{}及headers{"head=value1"}分别表示请求url、请求方法、请求参数及请求头的映射条件。
5.params及headers支持简单的表达式
- param1:表示请求必须包含名为param1的请求参数 - !param1:表示请求不能包含名为param1的请求参数 - param1 != value1:表示请求包含名为param1的请求参数,但其值不能为value1 - {"param1=value1","param2"}:请求必须包含名为param1和param2的两个请求参数,且param1参数的值必须为value1
6.@requestmapping 映射请求支持ant 风格的url
ant 风格资源地址支持3种匹配符
- ?:匹配文件名中的一个字符,如:/user/createuser??匹配/user/createuseraa等 - * :匹配文件名种的任意字符,如:/user/*/createuser匹配/user/aaa/createuser等 - **:匹配多层路径,如:/user/**/createuser匹配/user/createuser、/user/aaa/bbb/createuser等
7.@pathvariable 映射url绑定的占位符
- 带占位符的rul是spring3.0 新增的功能,该功能在springmvc向 rest 目标挺进发展过程中具有里程碑的意义 - 通过@pathvariable 可以将url中占位符参数绑定到控制处理方法的入参中:url中的{xxx}占位符可以通过@pathvariable("xxx")绑定到操作方法的入参中 @requestmapping("/deleteuser/{userid}") public string deleteuser(@pathvariable("userid")integer userid){ ... }
8.@cookievalue 注解:映射一个cookie值
@requestmapping("/testcookievalue") public string testcookievalue(@cookievalue("cookiekey")string cookievalue){ ... }
9.使用pojo对象绑定请求参数值
spring mvc 会按请求参数名和pojo 属性名进行自动匹配,自动为该对象填充属性值。支持 级联属性(属性是一个对象,属性的属性)。如:dept.deptid/dept.address.tel等 @requestmapping("/testpojo") public string testpojo(user user){ // 前端提交表单 ... }
上一篇: PHP 的 __FILE__ 常量
下一篇: Echarts柱状图添加点击事件