SpringMVC入门程序

101 阅读3分钟

详细教程见:www.bilibili.com/video/BV1P1…

1.SpringMVC入门程序

  1. 添加依赖(spring-context、spring-webmvc、javax.servlet-api、jsp-api);

  2. 两种方式添加web模块(Maven默认项目添加web模块/Maven的webapp模块);

  3. 编写web.xml配置文件;

  4. 编写spring-mvc.xml配置文件;

  5. 在spring-mvc.xml文件中指定自动扫描包的路径cn.edu;

  6. 在首页index.jsp中指定访问的超链接:

    <a href="${pageContext.request.contextPath}/zhuce">cccccccccccccccc!</a>
    
  7. 编写cn.edu.XXXController;

image.png

2.使用Maven默认项目添加web模块||Maven的webapp模块启动SpirngMVC入门程序有何不同之处

maven默认项目添加web模块:

  1. 新建maven默认项目;
  2. settings->搜索“add framework support...”-> 右键add keyboard shortcut -> 点击一下文本框->输入键盘;
  3. 把光标放在项目上,使用快捷键(ctrl + alt + ,)会自动web模块,此时生成的web目录是与src同一级路径,并且生成的web.xml配置文件的版本是4.0;
  4. 编写代码:依赖文件pom.xml、web.xml、spring-mvc.xml、index.jsp、controller、配置tomcat;
  5. 点击启动项目之后运行的UI界面上的"XXXX"超链接,会出现找不到资源路径dispatchXXX,此时可以在artifacts中==手动添加lib目录==或者重新添加一个web app(重新添加的话,idea会自动添加lib目录并导入当前项目所依赖的jar包,但是,==lib目录并不会根据项目中的依赖jar变化而实时更新==);
  6. 通过这种方法生成的lib目录,如果在maven中修改依赖文件,那么lib中的内容不会实时更新,都需要自己手动更新lib目录下的内容(手动删改lib的内容或者重新添加web app)。
  7. 如果重新添加web模块的话,idea会自动生成lib文件夹并在lib路径下添加当前项目的依赖**(当前项目所使用到的jar包依赖)**。

但是使用webapp模块则可以实时更新

总结:默认项目下不会有lib文件夹目录,需要自己新建lib文件夹或者新建web appXX(idea会自动添加了lib,但lib里面的jar包是此时项目下使用到的jar包,不会进行实时更新)。

Maven的webapp模块:

生成的web.xml配置文件的版本为2.3会造成url路径乱码问题,需要自己手动更新为更高的版本模版(4.0)

  1. 创建maven带有webapp的项目,会发现创建的webapp文件夹是在==main路径下==;
  2. 查看lib文件夹中的内容;
  3. 添加依赖文件,以及编写其他代码;
  4. 再次查看lib文件夹中的内容,会发现lib中的jar是进行实时更新的;
  5. 运行。
总结:Maven的webapp模块会自动建立lib目录并且实时更新,会较为更加的方便。
  1. jsp页面中,设置编码UTF-8 防止乱码:

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
  2. 默认生成的web.xml为2.3版本,该版本会造成前端请求的URL地址乱码问题,需要将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">
      <display-name>Archetype Created Web Application</display-name>
    

3.前端发送给后端的数据为中文时,显示乱码。(添加过滤器)

<!--加入过滤器(解决前端发送过来的数据为乱码问题)-->
<filter>
    <filter-name>encoding</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>utf-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

4、使用idea创建MySQL中的表时,如果使用MySQL中的关键字的话,会自动加上单引号(order,desc,select,delete...)

5.文心一言获取前端页面