java项目实战-tomcat-SpringMVC-基本用法01-day25

发布时间 2023-11-14 00:15:36作者: jack-chen666

1. maven创建 war项目

什么是jar项目 什么是war项目?
jar项目:
由main方法来开始的 直接依赖JVM就能编译运行 jar项目不需要服务器
war项目:
web项目的java文件是tomcat来触发的 脱离了web服务器无法运行,war项目需要依赖服务器才能运行 web项目部署到服务器上 用户就能通过浏览器访问 将本地资源共享给外部访问

new module--> maven-->crate from archetype -->maven-archetype-webapp

注意观察 pom.xml文件

这里已经是一个war包了

一次将其标记为 resource-root Source-root

用mvn继承tomcat插件启动web
pom.xml配置tomcat插件

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <path>/testwebproject</path>
          <port>8080</port>
        </configuration>
      </plugin>
    </plugins>
  </build>

直接双击即可运行

http://localhost:8080/testwebproject/

2. SpringMVC

控制层 :controler获取前端的数据 进行页面的跳转 调用业务层
业务层:service 处理业务逻辑 例如商品结算 调用数据连接层
数据连接层:dao与数据库交互 增删改查

之前学总结一下:
mybatis是 与数据库交互
IoC/DI 控制反转 依赖注入 属于service层的对象创建 交给spring


Controller

package com.msb.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @Auther: jack.chen
 * @Date: 2023/11/13 - 11 - 13 - 23:21
 * @Description: com.msb.controller
 * @version: 1.0
 */

@Controller
public class TestController {


    @RequestMapping("/test01")
    public String test01(){
        return "index11.jsp";
    }
}

注意:要是注解无法导包的话

springmvc.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:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!-- 扫描控制器类,千万不要把service等扫描进来,也千万不要在Spring配置文件扫描控制器类所在包 -->
    <context:component-scan base-package="com.msb.controller"></context:component-scan>

    <!-- 让Spring MVC的注解生效 :@RequestMapping-->
    <mvc:annotation-driven></mvc:annotation-driven>
</beans>

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>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <!-- springmvc.xml 名称自定义,只要和我们创建的配置文件的名称对应就可以了。 -->
      <param-value>classpath:springmvc.xml</param-value>
    </init-param>
    <!-- Tomcat启动立即加载Servlet,而不是等到访问Servlet才去实例化DispatcherServlet -->
    <!-- 配置上的效果:Tomcat启动立即加载Spring MVC框架的配置文件-->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <!-- /表示除了.jsp结尾的uri,其他的uri都会触发DispatcherServlet。此处前往不要写成 /* -->
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

注意 修改 springmvc.xml文件名 保持一致

index11.jsp

<html>
<body>
<h1>Hello World jack !!!!</h1>
</body>
</html>


访问

http://localhost:8080/testwebproject/test01