搭建Springmvc框架,完成和servlet类似的操作

一.创建工程

1.打开Idea,创建一个Maven工程

 2.填写好路径,点击完成

二.环境配置

1.导入依赖

在pop.xml中导入依赖


<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.example</groupId>
  <artifactId>mybatis</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>mybatis Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <spring.version>5.1.6.RELEASE</spring.version>
  </properties>

    <!--mybatis-->
  <dependencies>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.6</version>
    </dependency>
            <!-- mysql驱动包 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.29</version>
    </dependency>

    <!-- spring begin -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>


    <!-- spring end -->

    <!--
      net.sf.json
    -->
    <dependency>
      <groupId>net.sf.json-lib</groupId>
      <artifactId>json-lib</artifactId>
      <version>2.4</version>
      <classifier>jdk15</classifier>
    </dependency>


    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>RELEASE</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>mybatis</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>


        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
2.配置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">
</web-app>

spring-mvc.xml

<?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:tx="http://www.springframework.org/schema/tx" xmlns:mvc="http://www.springframework.org/schema/mvc"
       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
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx.xsd
          http://www.springframework.org/schema/mvc
       http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!-- 配置扫描的包 -->
    <context:component-scan base-package="com.hxci.*" />

    <!-- 注册HandlerMapper、HandlerAdapter两个映射类 -->
    <mvc:annotation-driven />

    <!-- 访问静态资源 -->
    <mvc:default-servlet-handler />

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

</beans>

3.配置tomcat

 

 

 url修改为tomcat的路径,点击apply,应用

三.填写代码

1.创建以下文件

 

UserCotroller

package com.hxci.controller;

import com.hxci.pojo.Sign;
import com.hxci.pojo.User;
import com.hxci.service.UserService;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

@Controller
public class UserController {
    UserService service = new UserService();

    //如何处理ajax请求
    @ResponseBody //返回你想要的返回的数据
    @RequestMapping("/query")
    public String query(){
        List<User> list =service.query();
        //将user转换一个json类型的对象
        JSONArray json = JSONArray.fromObject(list);
        return json.toString();//默认是请求转发
    }
    @ResponseBody
    @RequestMapping("/add")
    public String add(Sign sign){
        System.out.println(sign);
        return "1";//默认是请求转发
    }
}

 UserDao

package com.hxci.dao;

import com.hxci.pojo.User;

import java.util.List;

public interface UserDao {
    public List<User> query();

    void add(User user);
}

sign

package com.hxci.pojo;

public class Sign {
   private Integer id;
   private String name;//
   private String sno;
   private String clazz;
   private String cours;
   private String datatime;
   private String num;
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;
}
public String getSno() {
	return sno;
}
public void setSno(String sno) {
	this.sno = sno;
}
public String getClazz() {
	return clazz;
}
public void setClazz(String clazz) {
	this.clazz = clazz;
}
public String getCours() {
	return cours;
}
public void setCours(String cours) {
	this.cours = cours;
}
public String getDatatime() {
	return datatime;
}
public void setDatatime(String datatime) {
	this.datatime = datatime;
}
public String getNum() {
	return num;
}
public void setNum(String num) {
	this.num = num;
}
@Override
public String toString() {
	return "Sign [id=" + id + ", name=" + name + ", sno=" + sno + ", clazz="
			+ clazz + ", cours=" + cours + ", datatime=" + datatime + ", num="
			+ num + "]";
}
   
}

User

package com.hxci.pojo;

public class User {
    private String id;
    private String name;
    private String password;

    public String getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

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

UserService

package com.hxci.service;

import com.hxci.dao.UserDao;
import com.hxci.pojo.User;
import com.hxci.utl.BaseUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.jupiter.api.Test;

import java.util.List;

public class UserService extends BaseUtil {
    SqlSession session = getSession();
    UserDao dao = session.getMapper(UserDao.class);

    public List<User> query(){
        List<User> list=dao.query();
     //   session.close();
       return list;
    }

    public void add(User user){

         dao.add(user);
         session.commit();
        //    session.close();
    }

    @Test
    public void test1(){
        UserService service =new UserService();
        User user = new User();
        user.setName("123");
        user.setPassword("123");

        service.add(user);
        UserService service2 =new UserService();
        System.out.println(service2.query());
    }
}

BaseUtil

package com.hxci.utl;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;

import com.hxci.dao.UserDao;
import com.hxci.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.jupiter.api.DynamicTest;
import org.junit.jupiter.api.Test;

public class BaseUtil {
  public SqlSession getSession(){
      InputStream inputStream = null;
      try {
          inputStream = Resources.getResourceAsStream("mybatis-config.xml");
      } catch (IOException e) {
          e.printStackTrace();
      }
      SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
      SqlSession session = factory.openSession();
      return session;
  }


   //@Test
  /* public void query() throws Exception{

       //---------------
       UserDao dao = session.getMapper(UserDao.class);
       List<User> list = dao.query();
       System.out.println(list);
       //--------------
       session.close();
   }*/
}

add.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="http://localhost:8081/mybatis_mvc_war/add" method="post">
姓名:<input name="name" > <br><br>
密码:<input name="password" > <br><br>
    
<input type="submit" value="提交">
</form>
</body>
</html>

index.jsp

<html>
<body>
<h2>Hello World!</h2>
</body>
</html>

query.jsp

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2021/9/30 0030
  Time: 15:09
  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>
显示页面
</body>
</html>

运行

猜你喜欢

转载自blog.csdn.net/a787108431/article/details/120584221