SpringMVC

搭建环境

1.创建java项目

2.创建web项目

3.

 4.在WEB-INF下创建 lib和classes文件夹

右键 

 

 5.把路径指向当前项目下的classes

 

6.当前项目的lib文件夹

 

 添加 apache-tomcat里的jar包

 7.把lib文件里的jar包粘贴进项目lib中

  8.创建springmvc.xml

编写web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
<!--    配置前端控制器-->
    <servlet>
        <servlet-name>DispatcherServlet</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>DispatcherServlet</servlet-name>
<!--       /: 拦截所有的请求但不包括.jsp请求
           /*:拦截所有请求,包括.jsp
-->
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

创建类

package com.it.controller;

import com.it.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.security.PublicKey;

@Controller
@RequestMapping("/admin")
public class MyController {
    /*
    @RequestMapping("/admin"):可以用在方法或者类前,
    然后访问路径前都需要加上admin (admin/test)
    value:可以省略
    method:请求方式,在请求路径满徐时,还需要满足请求方式的要求
    超链接是get
    如果请求错误,则报404错误
    如果是表单,则用post方式


    * */
    @RequestMapping(value = {"/test", "/abc", "hello"})
    public String testFirst(HttpServletRequest request) {
        //用传统的方式:sevletAPI
        String id = request.getParameter("id");
        String name = request.getParameter("name");
        System.out.println("id=" + id + "," + name);
        request.setAttribute("id", id);
        request.setAttribute("name", name);
        return "success";

    }

    //@PostMapping("/do")
    //@RequestMapping(value = "/do",method = RequestMethod.GET) = @GetMapping("/do")
    @GetMapping("/do")
    public String testDo() {
        System.out.println("---------do---------");
        return "success";
    }
/*
由页面中向controller传递参数

* */

    //第二种方式;参数的名称和控制层方法形式参数名称一致,可以自动获取参数
    @RequestMapping("first")
    public String doFirst(Integer id, String name, HttpServletRequest request) {
        System.out.println("id" + id + ",name" + name);
        request.setAttribute("id", id);
        request.setAttribute("name", name);
        return "success";
    }
//第三种方式:利用对象的形式 (新建User类)
   /* @RequestMapping("login")
public String doLogin(@RequestParam(defaultValue = "30") Integer id, String name, HttpServletRequest request){
        System.out.println("id"+id+",name"+name);
        request.setAttribute("id",id);
        request.setAttribute("name",name);
        return "success";
    }*/

    @RequestMapping("login")
    public String doLogin(User user, HttpServletRequest request) {
        System.out.println(user);
        request.setAttribute("user", user);
        return "success";

    }
}

index.jsp

<%--
  Created by IntelliJ IDEA.
  User: ZEL
  Date: 2022/4/26
  Time: 14:36
  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>
  <%-- 请求test -->DispatcherServlet-->MyController(testFirst())-->success.jsp--%>
  <a href="test">测试test请求</a>
  <br>
  <a href="admin/test?id=20&name=张三">admin/test测试</a>
  <a href="admin/hello">hello/test测试</a>
  <a href="admin/do">注解的合并测试</a>
<hr>
  <form action="admin/login" method="get">
    id:<input type="text" name="id"><br>
    name:<input type="text" name="name"><br>
    <input type="submit" value="提交">
  </form>
  <a href="admin/first?id=20&name=张三">admin/first测试,获取参数</a>

  </body>
</html>

web.xml 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
<!--    配置前端控制器-->
    <servlet>
        <servlet-name>DispatcherServlet</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>DispatcherServlet</servlet-name>
<!--       /: 拦截所有的请求但不包括.jsp请求
           /*:拦截所有请求,包括.jsp
-->
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>
package com.it.entity;

public class User {
    private Integer id;

    private  String name;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }

    public User() {
    }

    public User(Integer id, String name) {
        this.id = id;
        this.name = name;
    }
}

success.jsp

<%--
  Created by IntelliJ IDEA.
  User: ZEL
  Date: 2022/4/26
  Time: 15:02
  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>
 <h3>success.jsp</h3>
<hr>
<h3>
    用户id:${id}<br/>
    用户名:${name}
    <hr/>
    用户id:${user.id}<br/>
    用户名:${user.name}

</h3>
</body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值