Mac初次使用idea2021新建JavaWeb问题汇总

#0x00 前言

这学期在学JavaWeb,突然被疫情封校在宿舍上网课,只能在自己电脑上装环境了。

并不是没有学过,只是上课用的都是Eclipse + tomcat8,但之前用过idea做Java,确实感觉比Eclipse好用,所以想着在idea搭建环境

在此也是各种碰壁,把一些遇到的问题总结给大家

#0x10 正文

#0x11 快速创建Java web项目

我创建的是JavaEE 快捷方便 目前没发现啥大区别

直接在新建项目中选择Java Enterprise 选择好项目模板伟 Web applica 选择好tomcat版本(强烈建议9 ,10还有一些问题)

如果Application server这边没有tomcat版本,可以点击右边的New...按钮 然后选择 Tomcat Server ,继续选择tomcat路径即可

#0x12 tomcat无法正常运行

大概率是没有给tomcat权限,打开tomcat所在路径(我这边直接放在了根目录下),执行sudo chmod -R 755 ./(你的tomcat文件夹名)

【如果不知道路径的话,打开访达的文件夹位置,直接拖入就好了】

然后回车输入mac的密码就可以了

#0x13 直接运行index.jsp报错404

创建好Javaweb项目之后,在index.jsp右键运行会直接报404

正确的运行方式是在下面的tomcat环境中右键运行

#0x14 运行tomcat后报错404

大概率是端口占用问题,你在此前运行过tomcat环境,跟idea启动的tomcat端口冲突导致

需要cd 到tomcat/bin 路径下 运行shutdown.sh脚本  关闭在系统中运行的tomcat环境,这样才能让idea启动的tomcat正常运行

#0x15 HelloServlet报错404

大概率是没有添加映射,打开web(webapp)/WEB-INF/web.xml 然后添加映射

然后就成功servlet到了

<?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>helloServlet</servlet-name>
        <!--servlet名字 跟包下的HelloServlet类中name对应-->
        <servlet-class>com.denceun.javawebone.HelloServlet</servlet-class>
        <!--包名类名-->
    </servlet>

    <servlet-mapping>
        <servlet-name>helloServlet</servlet-name>
        <!--servlet名称,跟上面对应-->
        <url-pattern>/hello-servlet</url-pattern>
        <!--路径-->
    </servlet-mapping>

</web-app>

#0x16 HelloServlet 报错500

HTTP状态 500 - 内部服务器错误

类型 异常报告

消息 实例化Servlet类[com.denceun.tomcat10.HelloServlet]异常

描述 服务器遇到一个意外的情况,阻止它完成请求。

原因是tomcat10之后包名不再"javax.servlet”,改为"jakarta.servlet"
因此将Tomcat版本改为9即可 或者 “javax.servlet”改为"jakarta.servlet”

这里参考了CSDN中大佬的文章:类com.fqyd.servlet.HelloServlet不是ServletHTTP状态 500 - 内部服务器错误

我并没有尝试下面的操作,只是直接把tomcat10删除 换成了tomcat9 这样跟方便不是,以后都要改一下很麻烦

#0x20 后记

学习过程中,总会遇到各种问题,为了解决这些小问题,也是用了各种办法。

也许会不断百度:

又或者去请教大神:

又还是直接花钱去解决(太贵了最终没有花):

等等方式,总之遇到问题冷静下想办法解决才是关键,要多想自己是哪里做错了,没有找对方法,也许这次一帆风顺的成功,下次依旧奔溃,这些在编程中的稀奇古怪问题总是司空见惯。正因遇到问题才能有所提升,还是那句话:成功的经验与失败的教训同等重要!

 

 

Before
阅读剩余
THE END