SpringMvc 基本配置

首先搭建一个maven的项目

第一步

导入springmvc的pom依赖

  <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.10.RELEASE</version>
        </dependency>

第二步
首先在resources里面配置springmvc配置
springmvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       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.xsd">

    <!--配置注解扫描器-->
    <context:component-scan base-package="com.ch.controller"></context:component-scan>


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

配置注解扫描器 注意 base-package 后面 是需要 指定的包目录下
如果不扫描 找不到 就用补上了
置视图片 后面的value 是指等一下调用action 和jsp页面

第三步
配置好了 之后需要Servlet的xml配置

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
  <display-name>Archetype Created Web Application</display-name>
    <servlet>
        <servlet-name>springmvc</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>
    </servlet> 
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>
</web-app>

这三步完成之后

我们来测试

在java目录下面 建个测试的方法去测试
如图

package com.ch.controller;


import com.ch.entity.Users;
import com.sun.net.httpserver.HttpServer;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;

@Controller
public class TestController {
    @RequestMapping("/test1")
    public String test1(String uname, String upwd) {
        System.out.println(uname + "\t" + upwd);
        return "success";
    }

建二个页面
一个 index.jsp

<%--
  Created by IntelliJ IDEA.
  User: zzk
  Date: 2018/11/2
  Time: 16:06
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<a href="/test1.action?uname=admin&upwd=admin">请求测试的方法</a>
<form action="/add.action" method="post"><br>
    用户名<input type="text" name="name"><br/>
    密码 <input type="password" name="pwd"><br/>
    <input type="submit" value="提交">
</form>
</body>
</html>

一个success成功的页面

<%--
  Created by IntelliJ IDEA.
  User: zzk
  Date: 2018/11/2
  Time: 16:09
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8"  isELIgnored="false" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
   测试成功
   ${uname}
</body>
</html>

如果成功就配置ok

死数据传值到页面

  @RequestMapping("/test2")
    public String test2(Map map){
        map.put("uname","tomcat");
        return  "success";
    }

直接把这个方法放到测试action里面测试一下 跳到成功页面之后显示了 tomcat的值就说明action传值成功
这里jsp显示 用的是er表达式 在上面加一个 isELIgnored="false"就能用了

传入对象到页面
第一步
导入pom依赖 servlet

 <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>

第二步
方法放入action之中

   //使用Servlet对象进行数据传递
    @RequestMapping("/test3")
    public  String test3(Users users, HttpServletRequest request){
        //将数据放入请求作用域
        request.setAttribute("users",users);
        return  "success";
    }

这里面对象肯定是要自己创建的
建个实体类

package com.ch.entity;
public class Users {
    private  String name;
    private String pwd;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPwd() {
        return pwd;
    }
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
    public Users() {
    }
    public Users(String name, String pwd) {
        this.name = name;
        this.pwd = pwd;
    }
    @Override
    public String toString() {
        return "Users{" +
                "name='" + name + '\'' +
                ", pwd='" + pwd + '\'' +
                '}';
    }

}

ok之后 就可以使用了 jsp页面使用 该方法传入值到页面
显示出来就用对象点属性即可出来数据了

猜你喜欢

转载自blog.csdn.net/weixin_42014719/article/details/83658520