V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
movq
V2EX  ›  程序员

Tomcat 启动不了 webapps 里面的 web 程序怎么解决

  •  
  •   movq · 2021-05-20 19:43:43 +08:00 · 1460 次点击
    这是一个创建于 1318 天前的主题,其中的信息可能已经有所发展或是发生改变。

    0.0 在看《 Head First Servlets & JSP 》,照着书做一个练习没成功

    0.1 运行环境:M1 Mac

    1. 这是 tomcat 的 webapps 文件夹的结构,里面的 Beer-v1 是我的 web app

    xfcYLhslEJVIHGP

    2. 启动 tomcat,访问 http://localhost:8080/Beer-v1/form.html,报错如下

    1IKQDZ2XbkejS6a

    3. 打开 tomcat 后台,尝试手动启动这个 web app,结果如下

    6ZxS3PesfbMC5gN

    4. 下面是 form.html 和 web.xml 的代码

    <html>
        <body>
            <h1 align="center">Beer Selection Page</h1>
            <form method="POST"
                action="SelectBear.do">
                Select beer characteristics</p>
                Color:
                <select name="color" size="1">
                    <option value=”light”> light </option> 
                    <option value=”amber”> amber </option> 
                    <option value=”brown”> brown </option> 
                    <option value=”dark”> dark </option>
                </select>
                <br><br>
                <center>
                    <input type="SUBMIT">
                </center>
            </form>
        </body>
    </html>
    
    <web-app xmlns=”http://java.sun.com/xml/ns/j2ee”
        xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” 
        xsi:schemaLocation=”http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd” 
        version=”2.4”>
    
    <servlet>
        <servlet-name>Ch3 Beer</servlet-name>
        <servlet-class>com.example.web.BeerSelect</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>Ch3 Beer</servlet-name> 
        <url-pattern>/SelectBeer.do</url-pattern> 
    </servlet-mapping>
    
    </web-app>
    
    第 1 条附言  ·  2021-05-20 20:19:08 +08:00
    解决了,那个 web.xml 里面的引号是中文引号,应该用英文的

    (我看的是英文原版书,直接从书上复制过来的,没想到是中文引号
    9 条回复    2021-05-21 19:32:03 +08:00
    qqqccc
        1
    qqqccc  
       2021-05-20 19:51:01 +08:00
    明显的代码报错了,具体哪里得看 tomcat 日志
    hello2060
        2
    hello2060  
       2021-05-20 20:20:13 +08:00 via iPhone
    没搞过 web.xml , 但你这个 form.html 是不是没有映射?
    yunyuyuan
        3
    yunyuyuan  
       2021-05-21 09:27:06 +08:00
    据我所知,要在 server.xml 配置 webapp 。好久没写 java 了
    zzzmh
        4
    zzzmh  
       2021-05-21 10:31:10 +08:00
    我刚开始学也是被各种打错字,写错地方,用错大小写等问题,逼到差点劝退。。。后来发现还是靠开发工具生成香。。。
    ikas
        5
    ikas  
       2021-05-21 12:45:06 +08:00
    这种东西,直接去看日志,都有详细的错误
    taogen
        6
    taogen  
       2021-05-21 17:07:51 +08:00
    你没有添加静态文件的映射,在 web.xml 添加下面代码试下:

    <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.html</url-pattern>
    </servlet-mapping>
    cco
        7
    cco  
       2021-05-21 18:24:55 +08:00
    还在 web.xml 里配置 mapping ? 你这教材有点过时了啊~~~~ 非要用 servlet 限制都用注解解决了。
    J0d3r
        8
    J0d3r  
       2021-05-21 19:30:33 +08:00
    遇到问题找 log
    J0d3r
        9
    J0d3r  
       2021-05-21 19:32:03 +08:00
    提问结构挺清晰的,赞
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1941 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:38 · PVG 08:38 · LAX 16:38 · JFK 19:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.