SpringMVC配置记录和遇到的问题

写在前面:学习Javaweb时间太久了,加上新的老师创建web项目的方式不同,导致我配置遇到错误的时候有些懵了,于是乎,记录原本的创建方式。

目录1和2是探索配置错误的过程,3是错误的解决办法!!!

目录

1.JavaWeb的快速创建(最保险)

1.1创建新的javaweb项目

 1.2配置Tomcat

 1.3配置成功

2.还原上面这个出现错误的配置过程

2.1 创建springmvc_67_blog

 2.2添加web框架

2.3搭建一个简单的springmvc项目

3.错误分析

3.1 java: 错误: 无效的源发行版:14

 3.2 HTTP Status 404 -

 3.3HTTP Status 500 - Servlet.init() for servlet springmvc threw exception

4.小结


1.JavaWeb的快速创建(最保险)

1.1创建新的javaweb项目

以创建springmvc_66_blog为例:

 

 

 1.2配置Tomcat

 1.3配置成功

 ps:如果用这种方法创建javaweb项目加上springmvc就不会出现下面这种情况:

HTTP Status 500 - Servlet.init() for servlet springmvc threw exception

2.还原上面这个出现错误的配置过程

2.1 创建springmvc_67_blog

 

 运行测试,出现了jdk版本错误

点击项目结构---模块--根据图片步骤修改

 

 

这里虽然运行成功了,但是却留下了疑问,为什么前面要配置成8,后面14才行。而且还是缺一不可。下面为了验证这个为什么 ,用快速创建的web项目与手动配置的web项目进行对比,发现原因。

 2.2添加web框架

2.3搭建一个简单的springmvc项目

1.HelloController

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//注意:这里我们先导入Controller接口
public class HelloController implements Controller {

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        //ModelAndView 模型和视图
        ModelAndView mv = new ModelAndView();

        //封装对象,放在ModelAndView中。Model
        mv.addObject("msg","HelloSpringMVC!");
        //封装要跳转的视图,放在ModelAndView中
        mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
        return mv;
    }
}

2.springmvc-servlet.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
    <!--视图解析器:DispatcherServlet给他的ModelAndView-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
        <!--前缀-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>
    <!--Handler-->
    <bean id="/hello" class="com.liu.controller.HelloController"/>
</beans>

3.hello.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${msg}
</body>
</html>

4.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">
    <!--1.注册DispatcherServlet-->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--关联一个springmvc的配置文件:【servlet-name】-servlet.xml-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>
        <!--启动级别-1-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <!--/ 匹配所有的请求;(不包括.jsp)-->
    <!--/* 匹配所有的请求;(包括.jsp)-->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

到此基本spingmvc和web的架构搭建已经完成,下面找错误原因!

3.错误分析

3.1 java: 错误: 无效的源发行版:14

找到原因:我项目配置的是父项目带子项目,在父项目中版本源默认为14,而子项目创建的为jdk1.8,所以出现版本冲突。只需要将项目中的14改为8即可。

<properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
</properties>

 3.2 HTTP Status 404 -

找到原因:这是子项目的资源路径下没有找到jar包所导致的,所以要手动在项目的class路径下,添加依赖。具体操作为:文件----》项目结构----》工件-----》选择要配置的项目----》点击WEB-INF----》在WEB-INF下创建lib包-----》单击lib后点击+号-----》点击库文件------》全选确定----》应用

 3.3HTTP Status 500 - Servlet.init() for servlet springmvc threw exception

 

亲测:如果按照3.1和3.2的步骤走的,一般不会出现错误500的问题。但我还是测试了下500的出现。我修改了jdk的版本,将1.8修改成14,结果出现了这个错误。所以推测是jdk配置版本导致的错误。下面提供几种查验版本问题的方法:

1.设置里查看

2.项目结构里设置

3.项目结构模块下的依赖

4. 项目结构模块下的源

4.小结

放上配置成功的截图:

idea的项目需要严格注意配置步骤,特别是在勾选jdk版本上,一般电脑都会安装几个版本的jdk,所以一定要 看清jdk的版本。慢慢来,耐心点,终于从配置地狱中走出来了!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记录菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值