SpringMVC

作者: 杨连坤 | 来源:发表于2019-07-07 19:11 被阅读0次

一、helloworld

1.jar包

SpringMVC基本jar包

2. web.xml

先配置DispatcherServlet 又叫前置解析器 作用是将url 请求拦截过滤

<servlet>

<servlet-name>名称</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>SpringMVC ioc容器的位置</param-value>

可以是 在类路径下面

<param-value>classpath:springmvc.xml</param-value>

也可以不做配置 没有</init-param>

 默认在WEB-INF下面 名称是<servlet-name>名称</servlet-name>这里的 名称-servlet.xml

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<!-- Map all requests to the DispatcherServlet for handling -->

<servlet-mapping>

<servlet-name>springDispatcherServlet</servlet-name>

过滤拦截的url请求方式 /是拦截所有请求

<url-pattern>/</url-pattern>

</servlet-mapping>

3. springmvc.xml

springmvc 的ioc容器 一般在classpath下面

先配置 要扫描的包

<context:component-scan base-package="com.springmvc.hello" use-default-filters="false">

<!--  只扫描 Controller 与Controlleradvices 注解的-->

<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>

<context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>

</context:component-scan>

再配置视图解析器 

将返回的 字符串 与prefix suffix 拼接 得到对应的页面全路径  作为跳转页面

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix" value="/WEB-INF/views/"></property>

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

</bean>

4. bean中注解

一般与springmvc 相关的bean使用@Controller 注解

@RequestMapping(value="/testHello",method=RequestMethod.GET)

public String testHello() {

System.out.println("testHello");

return "success";

}

@RequestMapping 用来注解点击页面后 需要响应的目标方法

参数有 value 表示响应url “/+url” 页面中没有“/”

method 响应的方式  默认是GET  若请求是POST 报错

5. jsp 页面

<a href="testHello">Test Hello</a>

testHello 响应的url  前面没有 / 

二、注解

1 @RequestMapping 

@RequestMapping(value="/testHello",method=RequestMethod.GET)

在 响应方法前 注解 表明响应的url 响应的方法

2  @RequestParam  

@RequestMapping(value="/testHello",method=RequestMethod.POST)

public String testHello(@RequestParam(value="i",defaultValue="0",required=false) int i) {

System.out.println("testHello");

return "success";

}

对应的 链接 <a href="testHello?i=10">Test Hello</a>

在响应方法的入参中修饰入参 

value="i" 链接中参数的名字

defaultValue="0"  默认值

required=false 是否必须 默认必须


相关文章

网友评论

      本文标题:SpringMVC

      本文链接:https://www.haomeiwen.com/subject/rjpmhctx.html