zoukankan      html  css  js  c++  java
  • Intellij IEDA 14.0+Tomcat Servlet开发

          作为我的第一篇博客,用来纪念我调了好几天的Idea下的servlet开发。刚从Eclipse转到Idea,很是不方便,各种问题,网上资料也不多,先是看了一段“IntelliJ IDEA教程集合-YouMeek.com整理”视频,感觉似懂非懂,然后着手编写程序,按照网上大部分的教程(可参考http://www.cnblogs.com/shihui142857/p/3827062.html)pia pia pia 地敲起代码,发现总是不成功,最后磨了好几天才知道很多细节问题,下面分享一下。

         (建工程等步骤我就不再提了,按照上面网页链接做就OK)

         Q1:出现Tomcat 1099 8080端口被占用,网上有很多解决方案,比如先查占用的端口号 netstat -aon | find "8080",然后通知命令tasklist找出进程名字,再在任务管理器中kill。如果确定不是其他程序占用,是之前开的Tomcat没有正常关闭,其实有个最简单的办法,就是找到任务管理器中的java进程,直接kill。

         Q2:在配置Tomcat容器的时候要记得在Deployment中添加Deploy at the server startup,通知可以设置访问的相对路径如下图所示

        Q3:idea创建servlet问题,idea创建servlet会自动添加注解 @WebServlet(name = "TestServlet"),之前没解决问题的时候,在QQ群里有人说这个不能自动添加,说这个有问题,但事实就是自动添加了,但貌似也没啥问题。但是关键问题在于idea创建servlet后,doPost函数和doGet函数的位置是相反的,也就是说Eclipse创建serlvet的时候是先doGet,再doPost函数,而idea则是相反的。由于习惯性行为,我把输出代码写在了第一个函数doPost里,导致调了一天都没调出来,找各种问题,太粗心了。

        今天终于把servlet正常显示了,心情一下子舒坦,也许是前几天天天和女友吵架导致人品急剧下降,so easy的代码都挑不出$_$。今天哄了哄女友,就调出来了(happy)。下面还是贴一下我的代码,参考价值不大,给自己留个备份,第一份博客^_^

    TestServlet.java文件

    package mypackage;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;
    
    @WebServlet(name = "TestServlet")
    public class TestServlet extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            PrintWriter out=response.getWriter();
            out.println("<html>");
            out.println("<head><title>servlet test</title></head>");
            out.println("<body>hello TestServlet</body>");
            out.println("</html>");
        }
    }

    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_3_1.xsd"
             version="3.1">
        <servlet>
            <servlet-name>TestServlet</servlet-name>
            <servlet-class>mypackage.TestServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>TestServlet</servlet-name>
            <url-pattern>/TestServlet</url-pattern>
        </servlet-mapping>
    </web-app>

      

  • 相关阅读:
    大文件上传
    zabbix接口
    Vue 在不同的环境使用不同的接口地址
    Vue发布流程
    RabbitMQ集群一些使用细节
    Watcher 系统整体流程图
    监控系统各个模块部署
    deepin安装node和npm最新
    google安装json插件
    数据库访问性能优化 Oracle
  • 原文地址:https://www.cnblogs.com/JeromeHuang/p/4188092.html
Copyright © 2011-2022 走看看