写一个简单的Spring MVC

今天开始学习Spring MVC,首先,作为福利,把我的学习网站贴出来:https://www.chuanke.com/v2066236-121860-292837.html 本篇文章不作为答疑或者怎样,只是一个学习笔记。

首先,简单介绍一下Spring mvc。Spring MVC是一个MVC框架,通过实现MVC将数据,业务,展现进行分离。Spring MVC是围绕Dispatcher Servlet进行设计的。由servlet负责将请求派发到指定的handler。

在本例中,实现一个简单的Spring MVC工程,功能只有从前台输入数据到后台,经过处理后输入到后台。

1.在eclipse java EE环境下创建dynamic工程,并拷贝jar包。工程选择3.0版本或以下,因为要手动配置或者修改web.xml中的内容

2.配置 web.xml: 配置一个前端控制器。

  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

将这些代码写在web.xml中

3.在 web-INF下创建一个spring xml 配置文件,属于spring MVC的配置文件。命名为:【servlet-name】-servlet.xml。在本例中,命名为springmvc-servlet.xml

命名空间添加:mvc,context,beans

4.在springmvc-servlet.xml中进行 handler Mapping 配置,目的是根据beanname找到controller。
<!-- 配置HandlerMapping 根据beanname进行查找 -->
        <bean class="org.springframework.web.servlet.mvc.support.ControllerBeanNameHandlerMapping">
        </bean>


5.写一个jsp form表单:hello.jsp

<body>
    <form action="hello.do">
        hello:<input type="text" name="hello">
        <input value="提交"type="submit">
    </form>
</body>

6创建controller:这里不是创建一个serlvet而是创建一个java类,继承 AbstractController。重写其中的handleRequestInternal方法

    protected ModelAndView handleRequestInternal(HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        request.setCharacterEncoding("UTF-8");
        String hello = request.getParameter("hello");//获取参数
        System.out.println("------"+hello);//后台进行输出
        ModelAndView mav = new ModelAndView("index");//创建ModelAndView实例,参数为被传入的页面的name 本例中传入的是index.jsp                                            

        mav.addObject("hello", "hello!"+hello); // 将被传入的参数赋值并添加到mav实例
        return mav;
    }

7.在springmvc-servlet.xml中配置视图解析器:

<!-- 配置视图解析器 -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <!-- 前缀 -->
            <property name="prefix" value="/view/"></property>
            <!-- 后缀 -->
            <property name="suffix" value=".jsp"></property>
        </bean>

其中,前缀为被传入的jsp页面所在的文件夹,后缀为后缀名

8.编写获取页面index.jsp:

<body>
    <h1>${hello}</h1>
</body>

9配置controller:

<!-- 配置controller -->
        <bean name="/hello.do" class="com.liukf.springmvc.controller.HelloController"></bean>
</beans>

配置这个的原因是因为在前台是根据name获取的传入对象

<form action="hello.do">
        hello:<input type="text" name="hello">
        <input value="提交"type="submit">
    </form>

调试一下,运行出错,错误为404,这时很可能是web.xml配置出了问题。我的问题是:

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


配置servlet-name时中间有空格,删去就好了。web.xml一定要注意不要出错。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值