• idea搭建JavaWEB项目, servlet, tomcat


    【博客园cnblogs笔者m-yb原创,转载请加本文博客链接,笔者公众号aandb7 爱码一生,QQ群927113708, github: https://github.com/mayangbo666】

    https://www.cnblogs.com/m-yb/p/10925688.html

    这里我决定写个idea 搭建项目的笔记:

    首先打开idea,

    选择新建项目, 左侧选择Java, 项目的SDK JDK 我这里用的是jdk1.8, 额外的libs和框架由于想键JavaWeb项目, 因此选择Java EE的 Web Application web应用,

    下一步, 填写项目名和项目文件根路径, 

    完成后, 在新窗口新建打开新项目, 我是idea2017.2.2版本, 可以看到项目层次结构如下:

    下一步, 先来配置web应用运行在的Tomcat容器上, 

    分别按照1,2,3点击选择Local进入,

    1,2,3,4,5分别进行检查配置操作,

    看到警告, 没有项目被部署, 点击Fix, 来到部署界面,

    如果?处是空的则采取手动添加, 

    点击+号, 选择Artifact项目,

    这里填写application context, 

    这里讲下浏览器将要访问的路径,

    跟tomcat的ip, 端口号有关,以及此处配置的application context对应访问接受那个项目那个uri,

    localhost:8080/javaweb1111/

    这里填完application context, 返回tomcat server配置处, 切换到update 热部署选项,

    apply应用, ok,

    至此tomcat配置完毕,

    大致浏览下项目结构,

    现在还缺少一些lib jar包,

    下面先搞一个servlet,

    src右键,选择新建servlet,  

    项目结构图如下,

    看到src源码包里面已经有了MyServlet类,

    import java.io.IOException;
    
    public class MyServlet extends javax.servlet.http.HttpServlet {
        protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
    
        }
    
        protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
    
        }
    }

    发现找不到servlet依赖, Alt+Enter 添加Java EE 6 JARs依赖,

    项目里没有现成的java ee 6 jars lib包使用, 就下载,

    下载完成, 加载完成, 发现不报错了,

    为了访问之后, 有效果, 这里在doGet里面加入后台输出语句,

    浏览器输入url回车直接访问,是get类型的请求, 就会执行后台的doGet方法, 如果此时想调用doPost, 也可以在doGet里面调用doPost方法,

    import java.io.IOException;
    
    public class MyServlet extends javax.servlet.http.HttpServlet {
        protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
            System.out.println("doPost()...");
        }
    
        protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
            System.out.println("doGet()...");
    //        doPost(request, response);
        }
    }

    写完代码, 再进行web.xml配置, 配置一个servlet-mapping 映射标签,

    <?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>MyServlet</servlet-name>
            <servlet-class>MyServlet</servlet-class>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>MyServlet</servlet-name>
            <url-pattern>/get233</url-pattern>
        </servlet-mapping>
    </web-app>

    根据提示添加, 将此servlet-mapping关联到MyServlet类上, url配置为 /get233, debug方式启动tomcat, 注意不要断点,

    启动如果弹出需要允许java联网则允许,

    启动完成, 没有报错, 则进行访问,

    localhost:8080/javaweb1111/get233

    发现前后台反馈正常, 后台打印出东西, 至此完毕.

     最后补一张另一种依赖方式, 除了依赖java ee 6 jars也可等效替换为依赖tomcat内置lib下面的两个包:

    jsp-api.jar和servlet-api.jar

    也可正常使用.

  • 相关阅读:
    WINFORM 設計時 未能加载文件或程序集問題解決
    Remove row from generic datatable in C#(The given DataRow is not in the current DataRowCollection)
    questa.sim in the linux
    the io_printf
    how to search new file in linux
    the rld control core
    window's chkdsk
    tq
    the init state machine
    brazen out
  • 原文地址:https://www.cnblogs.com/m-yb/p/10925688.html
Copyright © 2020-2023  润新知