springmvc 环境搭建

springmvc 执行原理
页面发送请求,控制器根据请求找到相应的映射(方法),执行功能后,根据返回结果,经过视图解析器处理,跳转到相应页面,呈现处理结果。

环境搭建步骤
1、导入相关 jar 包
百度云自取 搭建springmvc需要的jar包

2、在 web.xml 中配置 dispatchServlet

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    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_2_5.xsd">

    <!-- 配置 DispatcherServlet -->
    <servlet>
        <servlet-name>springDispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>          
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springDispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

3、编写 springmvc.xml 文件,配置 视图解析器

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans" 
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
                        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd 
                        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd ">

    <!-- 自动扫描 -->
    <context:component-scan base-package="com.xiao.leave"></context:component-scan>

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


</beans>

4、编写控制器和相关页面

import java.util.Arrays;
import java.util.Date;
import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.servlet.ModelAndView;

import com.xiao.leave.entities.Students;

@SessionAttributes(value={"stu"},types={String.class})
@Controller
@RequestMapping("/login")
public class LonginAction {
    private static final String SUCCESS = "success";



    @RequestMapping("/testSessionAttribute")
    public String testSessionAttribute(Map<String, Object> map){
        Students stu = new Students("xiao", 24, "123456");
        map.put("stu", stu);
        map.put("addr", "北京");

        return SUCCESS;
    }

    @RequestMapping("/testModelAndView")
    public ModelAndView testModelAndView(){
        String viewName = SUCCESS;
        ModelAndView modelandview = new ModelAndView(viewName);
        modelandview.addObject("time",new Date());

        return modelandview;
    }

    @RequestMapping("/testMap")
    public String testMap(Map<String, Object> map){
        map.put("names", Arrays.asList("tom", "mike", "lily"));
        System.out.println(map.getClass().getName());

        return SUCCESS;
    }

    @RequestMapping("/testPojo")
    public String testPojo(Students stu){
        System.out.println("Student:" + stu);

        return SUCCESS;
    }

    @RequestMapping("testRequestParam")
    public String testRequestParam(@RequestParam(value="username") String un, 
                                    @RequestParam(value="age",required=false,defaultValue="0") int age){
        /**
         * RequestParam 映射请求参数
         * value:请求参数的参数名
         */
        System.out.println("testRequestParam: username = " + un + ", age = " + age);

        return SUCCESS;
    }

    @RequestMapping("/testPathVariable/{id}")
    public String testPathVariable(@PathVariable("id")Integer id){
        //PathVariable 可以映射 url 中占位符到目标方法的参数中
        System.out.println("testPathVariable  ==" + id);

        return SUCCESS;
    }

    @RequestMapping("testAntPath/*/aa")
    public String testAntPath(){
        // * 匹配任意个字符,? 匹配一个字符,** 匹配多层路径

        System.out.println("testAntPath");

        return SUCCESS;
    }

    @RequestMapping(value="/testparaAndMethod", params={"username","age!=10"}, method=RequestMethod.POST)
    public String testparaAndMethod(){
        /**
         * value表示请求路径的映射
         * params表示传入的参数;!=表示有该参数,但是不等于某值,
         * method表示请求方式
         */

        System.out.println("testparaAndMethod");

        return SUCCESS;
    }

    @RequestMapping("/helloworld")
    public String helloworld(){
        System.out.println("helloworld");

        return SUCCESS;
    }

}

success.jsp

<body>
    <h2>恭喜!登录成功</h2>

    <h4>names: ${requestScope.names} </h4>

    <h4>time: ${requestScope.time} </h4>

    <h4>request stu: ${requestScope.stu} </h4>

    <h4>session stu: ${sessionScope.stu} </h4>

    <h4>request addr: ${requestScope.addr} </h4>

    <h4>session addr: ${sessionScope.addr} </h4>


  </body>

login.jsp


  <body>

    <a href="login/testSessionAttribute">testSessionAttribute</a><br/>

    <a href="login/testModelAndView">testModelAndView</a><br/>

    <a href="login/testMap">testMap</a><br/>

    <form action="login/testPojo">
        姓名:<input type="text" name="sname"><br/>
        年龄:<input type="text" name="sage"><br/>
        手机:<input type="text" name="stel"><br/>
        省份:<input type="text" name="saddr.province"><br/>
        城市:<input type="text" name="saddr.city"><br/>

        <input type="submit" value="提交">
    </form>

    <a href="login/testRequestParam?username=xiao&age=24">testRequestParam</a><br>

    <a href="login/testPathVariable/1">testPathVariable</a><br/>

    <a href="login/testAntPath/hello/aa">testAntPath</a><br/>

    <form action="login/testparaAndMethod?username=xiao&age=11" method="post">
        <input type="submit" value="登录"/>
    </form>

    <a href="login/helloworld">hello world</a><br/>
  </body>
</html>

点击 login.jsp 中的链接,能成功跳转到 success.jsp 页面,则说明环境搭建成功!(testPojo 需要写一个 pojo,加入get set toString 方法)

以上为自己看相关教程后自己的理解,如果不妥之处,请指正

### 回答1: 您好,以下是Spring MVC环境搭建Hello World的步骤: 1. 首先,您需要在您的开发环境中安装好Java和Maven。 2. 创建一个Maven项目,选择Web应用程序类型。 3. 在pom.xml文件中添加Spring MVC依赖项: ``` <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2..RELEASE</version> </dependency> ``` 4. 创建一个Spring MVC配置文件,例如springmvc-servlet.xml,其中包含以下内容: ``` <mvc:annotation-driven /> <context:component-scan base-package="com.example.controller" /> ``` 5. 创建一个控制器类,例如HelloController.java,其中包含以下内容: ``` @Controller public class HelloController { @RequestMapping("/hello") public ModelAndView hello() { ModelAndView mav = new ModelAndView("hello"); mav.addObject("message", "Hello World!"); return mav; } } ``` 6. 创建一个JSP视图,例如hello.jsp,其中包含以下内容: ``` <html> <head> <title>Hello World</title> </head> <body> <h1>${message}</h1> </body> </html> ``` 7. 部署您的应用程序并启动服务器。在浏览器中输入http://localhost:808/您的应用程序名称/hello,您应该能够看到“Hello World!”的消息。 希望这可以帮助您开始使用Spring MVC! ### 回答2: SpringMVC是一种基于Spring框架的Web框架,它提供了一种机制来管理Web请求的生命周期和处理过程。搭建SpringMVC环境可以快速构建一个基本的Web应用程序,下面我们来一步步搭建一个HelloWorld的SpringMVC应用。 1.准备工作 首先,我们需要准备一个开发环境,包括安装JDK、Eclipse或IntelliJ IDEA等开发工具,以及Maven或Gradle等构建工具。 2.创建项目 在Eclipse或IntelliJ IDEA中创建一个新的Maven项目,并添加SpringMVC相关依赖。例如在pom.xml中添加: ``` <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.0.0.RELEASE</version> </dependency> ``` 3.配置SpringMVC 创建一个Spring的配置文件,例如springmvc-servlet.xml,并在其中配置SpringMVC。例如配置一个基础的DispatcherServlet: ``` <!-- 配置DispatcherServlet --> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- 把所有请求都交给DispatcherServlet处理 --> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> ``` 在上述配置中,我们将所有请求都交给dispatcher这个Servlet处理,并指定了其配置文件的位置。 4.编写Controller 下一步就是编写一个Controller类来处理请求。例如: ``` @Controller public class HelloWorldController { @RequestMapping("/hello") public String hello(Model model) { model.addAttribute("message", "Hello, world!"); return "hello"; } } ``` 这个Controller提供了一个/hello的请求路径,并返回一个View名称为hello。在返回View的同时,还向View中添加了一个message属性,其值为Hello, world!。需要注意的是,在Controller类名上添加了@Controller注解,以标记其为SpringMVC的Controller。 5.编写View 下一步是编写View模板来展示数据。例如,我们可以使用JSP模板,来编写一个hello.jsp文件: ``` <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Hello, world!</title> </head> <body> <h1>${message}</h1> </body> </html> ``` 这个模板使用了EL表达式来展示Controller传递过来的数据,具体来说,就是使用了message属性的值。 6.部署应用 最后一步就是部署应用,例如我们可以使用Maven来打包应用,然后将war包部署到Tomcat等Web容器中。 到这里,一个基本的SpringMVC应用就成功搭建并运行了!我们可以访问/hello路径来看到“Hello, world!”的输出。此外,可以根据实际需求来扩展应用功能,例如添加拦截器、异常处理器等。 ### 回答3: Spring MVC是一个开源的MVC框架,用于构建基于Java的Web应用程序。它是Spring框架的一部分,提供强大的Web开发特性和可扩展性。本文将介绍如何搭建Spring MVC开发环境,并创建一个简单的HelloWorld程序。 1. 环境搭建 首先,需要准备以下环境: Java JDK(Java Development Kit):需要安装Java JDK 8或以上版本。 Tomcat:需要安装Tomcat服务器,可以从官网上下载最新的Tomcat 9版本。 Maven:需要安装Maven,可以通过Maven官网下载最新版本。 Eclipse或IntelliJ IDEA:需要安装Eclipse或IntelliJ IDEA开发工具,选择其中一种即可。 2. 创建Web项目 在Eclipse中创建一个新的Dynamic Web Project。在创建过程中,需要选择Servlet版本和Java版本。可以选择Servlet 3.1版本和Java 8或以上版本。 在创建过程中,可以选择创建一个默认的Web.xml文件,也可以手动创建。确保在Web.xml中有以下配置: <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/config/spring-servlet.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> 3. 添加Spring MVC依赖 在POM文件中添加以下依赖: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.0.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.3</version> <scope>provided</scope> </dependency> 4. 创建Controller 在src/main/java目录下创建一个HelloController.java文件。在文件中添加以下代码: @Controller public class HelloController { @RequestMapping(value = "/hello", method = RequestMethod.GET) public String hello(ModelMap model) { model.addAttribute("message", "Hello Spring MVC Framework!"); return "hello"; } } 5. 创建JSP页面 在src/main/webapp/WEB-INF/views目录下创建一个hello.jsp文件。在文件中添加以下代码: <html> <head> <title>Hello Spring MVC</title> </head> <body> <h2>${message}</h2> </body> </html> 6. 创建Spring MVC配置文件 在src/main/webapp/WEB-INF/config目录下创建一个spring-servlet.xml文件。在文件中添加以下配置: <context:component-scan base-package="com.example" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> 7. 运行程序 将项目部署到Tomcat服务器上,并启动Tomcat服务器。在浏览器中输入以下网址:http://localhost:8080/hello。 应该会看到“Hello Spring MVC Framework!”这个消息显示在浏览器上。 以上就是在Spring MVC环境中创建和运行Hello World程序的步骤。通过这个例子可以了解Spring MVC的基本结构和组件,包括Controller、ViewResolver、DispatcherServlet等,并掌握创建并部署一个Spring MVC Web应用程序的过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值