spring Mvc第一个helloworld例子及工程的搭建

新建一个动态web工程,

在lib下面引入依赖的jar包

并且选中jar包,邮件构建路径-->配置构建路径,添加

知识点梳理;

首先在src下面写一个helloworldController类;

public class HelloWorldController {

 public String printWelcome(ModelMap model){
  model.addAttribute("message", "spring Mvc HelloWorld");
  return "hello";
 }

此时这只是个简单的类,该类想成为前端控制器,就要到spring-mvc.xml中配置前端控制器,

在src下面新建spring-mvc.xml:

本文使用注解的方式,首先在xml文件中打开注解:

 <mvc:annotation-driven/>

然后配置controller的包路径:

<context:component-scan base-package="com.wfl.springmvcTest2"/>

此时再回到HelloWorldController类,在类前面加上标识  @Controller

此时这个类HelloWorldController就是一个前端控制器了。

--------------------------------------------------------------------------------------------------

printWelcome()方法能够应答一个请求,首先写出这个请求,在Webcontent里写index.jsp:用一个jsp页面里的超链接去请求,

<a href="helloworld">hello world</a>这样在点击超链接的时候,就会发送一个请求,

然后web.xml里面的<servlet mapping>里面的servlet就会响应请求,<servlet-name>springDispatcherServlet</servlet-name>

                                     <url-pattern>/<url-pattern>(这里表示能够应答所有请求,这个是限制请求的类型,也可以写wfl/ 或者其他)

接下来这个请求要交给那个处理器的那个方法?这里使用@RequestMapping注解映射请求的url, 将index.jsp里面的超链接href写进去,就是@RequestMapping("/helloworld")。

类里面返回一个hello,这个页面(为啥是个页面?),为这个页面进行配置,是在src下面的spring-mvc.xml里面配置视图解析器。

 

 

 

 

 

 

也就是配置视图的解析:(如何把handler方法返回值解析为实际的物理视图)

<!-- 配置视图解析器 -->
     <!--prefix和suffix:查找视图页面的前缀和后缀(前缀[逻辑视图名]后缀),
        比如传进来的逻辑视图名为WEB-INF/jsp/index,则该jsp视图页面应该存放在“WEB-INF/jsp/hello.jsp”; -->
     <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
        <property name="prefix" value="/WEB-INF/jsp/"/>前缀
       <!-- <property name="prefix" value="/"/> -->   
        <property name="suffix" value=".jsp"/>    后缀
   </bean>

UrlBasedViewResolver 视图解析器会根据 根据配置文件前缀+返回值+后缀的方式得到实际的物理视图,然后做转发操作。就会转发到WEB-INF/views/success.jsp(根据上面的前后缀和返回值得到),那么就去工程里面建立这样的文件,然后将index.jsp在server中运行,点击超链接即可。

 

 

 

在WEB-INF/下面新建一个web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <!-- springMVC的前端控制器 -->
  <servlet>
      <servlet-name>Hello</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>
  <!-- spring mvc配置文件结束 -->
 
  <!-- 拦截设置 -->
  <servlet-mapping>
      <servlet-name>Hello</servlet-name>
      <!-- 设置拦截那些请求,此时是拦截所有请求! -->
      <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

这样就

前端控制器是DispatcherServlet,不需要程序员开发,直接使用,用来接受请求,并相应结果,相当于一个转发器,

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值