Springmvc入门案例(1)

简介: Springmvc入门案例(1)

据说,现在springmvc火了,好多企业都在使用,既然这样,咱们也得会点,于是乎就开始自学了,通过找资料,终于做出来了一个简单案例,这里分享供大家浏览,主要分为以下几个步骤:

一、springmvc是一个mvc框架,通过mvc很好的将数据、业务、表现进行分离
二、springmvc是围绕DispatcherServlet展开的,由DispatcherServlet负责将请求派发到特定的handler
springmvc框架搭建步骤:
   1.创建项目,拷贝springmvc相关的jar包。
   2.配置web.xml主要配置前端控制器DispatcherServlet
     

<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>



   3.在web-inf下创建springmvc配置文件,[servletname]-servlet.xml,文件名必须是springmvc-servlet.xml

   4.配置HandlerMapping映射,根据beanname找到对应的Controller(可以省略)

     

<bean class="org.springframework.web.servlet.mvc.support.ControllerBeanNameHandlerMapping">


   5.创建jsp页面,需要请求发出请求的页面

   6.创建Controller,继承AbstractController,重写handleRequestInternal(HttpServletRequest request,

           HttpServletResponse response)

     

//返回数据和页面
        @Override
        protected ModelAndView handleRequestInternal(HttpServletRequest request,
                HttpServletResponse response) throws Exception {
            String hello = request.getParameter("file");
            System.out.println(hello);
            ModelAndView modelAndView = new ModelAndView("welcome");    //返回到的页面
            modelAndView.addObject("helloword",hello);                    //返回值
            return modelAndView;
        }



   7.配置视图解析器

 

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


下面我把源码放上来吧;

   web.xml里面的配置:
       

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name></display-name> 
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>/WEB-INF/pringMVC-servlet.xml</param-value>
  </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
</web-app>


Springmvc里面的配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:mvc="http://www.springframework.org/schema/mvc"
  xmlns:p="http://www.springframework.org/schema/p"
  xmlns:tx="http://www.springframework.org/schema/tx"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
  <!-- 配置HandlerMapping映射,根据beanname找到对应的Controller -->
  <bean class="org.springframework.web.servlet.mvc.support.ControllerBeanNameHandlerMapping"></bean>
  <!-- 配置Controller -->
  <bean id="hello.do" class="org.controller.HelloController"></bean>
  <!-- 配置视图解析器 -->
  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!-- 配置前缀和后缀 -->
    <property name="prefix" value="/"></property>
    <!-- 后缀 -->
    <property name="suffix" value=".jsp"></property>
  </bean>
</beans>


   HelloController控制器里面的代码:

/**  
  * @Title: HelloController.java
  * @Package org.controller
  * @Description: TODO该方法的主要作用:
  * @author A18ccms A18ccms_gmail_com  
  * @date 2017-8-30 下午8:38:53
  * @version V1.0  
  */
  package org.controller;
  
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  
  import org.springframework.web.servlet.ModelAndView;
  import org.springframework.web.servlet.mvc.AbstractController;
  
  
   /**   
   *    
   * 项目名称:springmvc_day1   
   * 类名称:HelloController   
   * 类描述:   控制器
   * 创建人:Mu Xiongxiong  
   * 创建时间:2017-8-30 下午8:38:54   
   * 修改人:Mu Xiongxiong   
   * 修改时间:2017-8-30 下午8:38:54   
   * 修改备注:   
   * @version    
   *    
   */
  public class HelloController extends AbstractController {
  
    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest request,
        HttpServletResponse response) throws Exception {
      String hello = request.getParameter("file");
      System.out.println(hello);
      ModelAndView modelAndView = new ModelAndView("/welcome"); //返回到的页面
      modelAndView.addObject("helloword",hello);          //返回值
      return modelAndView;
    }
    
    
  
  }


index.jsp里面的代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="expires" content="0">    
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="This is my page">
  <!--
  <link rel="stylesheet" type="text/css" href="styles.css">
  -->
  </head>
  
  <body>
    <form action="hello.do" method="post">
      hello:<input type="text" name="file"/><br/>
      <input type="submit" value="提交"/>
    </form>
  </body>
</html>


welcome.jsp的代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="expires" content="0">    
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="This is my page">
  <!--
  <link rel="stylesheet" type="text/css" href="styles.css">
  -->
  </head>
  
  <body>
    hello:${helloword }
  </body>
</html>


最后看一下目录对应关系:

运行看welcome.jsp页面:

运行完毕,遇到的问题:

Springmvc中提交from之后不跳转不进控制器
Could not open ServletContext resource [/WEB-INF/springmvc-servlet.xml]【解决方案】

相关文章
|
7月前
|
JSON 网络架构 数据格式
SpringMVC-REST风格简介及RESTful入门案例
SpringMVC-REST风格简介及RESTful入门案例
87 0
|
7月前
|
SQL JavaScript Java
springboot+springm vc+mybatis实现增删改查案例!
springboot+springm vc+mybatis实现增删改查案例!
|
4月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
4月前
|
XML JSON 数据库
SpringMVC入门到实战------七、RESTful的详细介绍和使用 具体代码案例分析(一)
这篇文章详细介绍了RESTful的概念、实现方式,以及如何在SpringMVC中使用HiddenHttpMethodFilter来处理PUT和DELETE请求,并通过具体代码案例分析了RESTful的使用。
SpringMVC入门到实战------七、RESTful的详细介绍和使用 具体代码案例分析(一)
|
4月前
|
前端开发 应用服务中间件 数据库
SpringMVC入门到实战------八、RESTful案例。SpringMVC+thymeleaf+BootStrap+RestFul实现员工信息的增删改查
这篇文章通过一个具体的项目案例,详细讲解了如何使用SpringMVC、Thymeleaf、Bootstrap以及RESTful风格接口来实现员工信息的增删改查功能。文章提供了项目结构、配置文件、控制器、数据访问对象、实体类和前端页面的完整源码,并展示了实现效果的截图。项目的目的是锻炼使用RESTful风格的接口开发,虽然数据是假数据并未连接数据库,但提供了一个很好的实践机会。文章最后强调了这一章节主要是为了练习RESTful,其他方面暂不考虑。
SpringMVC入门到实战------八、RESTful案例。SpringMVC+thymeleaf+BootStrap+RestFul实现员工信息的增删改查
SpringMVC入门到实战------3、@RequestMapping注解(超详细基础知识+实际代码案例)
该博客文章详细介绍了SpringMVC中`@RequestMapping`注解的使用方法,包括其功能、位置、value属性、method属性、params属性、headers属性以及支持的路径风格和占位符,并通过实际代码案例展示了如何建立请求与控制器方法之间的映射关系。
SpringMVC入门到实战------3、@RequestMapping注解(超详细基础知识+实际代码案例)
|
7月前
|
前端开发 Java 网络安全
ssh(Spring+Spring mvc+hibernate)简单增删改查案例
ssh(Spring+Spring mvc+hibernate)简单增删改查案例
|
7月前
|
SQL JSON 前端开发
【源码免费下载】SpringBoot整合Spring+SpringMVC+MyBatisPlus案例:图书管理系统
【源码免费下载】SpringBoot整合Spring+SpringMVC+MyBatisPlus案例:图书管理系统
119 0
|
7月前
|
Java 数据库连接 数据格式
SSM-Spring+SpringMVC+MyBatis整合案例从0到1
SSM-Spring+SpringMVC+MyBatis整合案例从0到1
92 0
|
7月前
SpringMVC-拦截器概念及入门案例
SpringMVC-拦截器概念及入门案例
55 0