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

也可正常使用.

原文地址:https://www.cnblogs.com/m-yb/p/10925688.html