idea community 社区版创建java servlet

本文介绍了如何使用IntelliJ IDEA社区版创建Java Servlet项目,包括准备工具如Tomcat和JDK,配置Tomcat虚拟目录,创建Java工程,建立符合Servlet规范的web目录结构,编写demo代码,手动编译并配置web.xml文件,最后通过手动启动Tomcat运行项目。

准备工具

  • 官网上下载的Tomcat 9.x一个
  • JDK10
  • 官网上下载的IDEA community版本一个

环境配置

tomcat配置虚拟目录

  • 解压官网下载的Tomcat压缩包,进入Tomcat的根目录,再进入conf文件夹,打开server.xml配置文件,在文件末尾的<Host>标签里,使用<Context>标签添加你的项目目录路径;PS:配置虚拟目录的做法比直接放入webapp要好,可以减少Tomcat的启动时间
<Server>

      ..........

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    <!-- path属性是你浏览器访问的项目名,后面docBase指向WEB-INF目录的上一级目录-->
        <Context path="/HelloServlet" docBase="D:\tempBox\PureServlet\WebContent"/>
      </Host>
    </Engine>
  </Service>
</Server>

idea创建项目工程

没什么特别的,就是java工程,一直next下去就可以了

这里写图片描述

建立web目录结构
  • 新建的java工程肯定是不能跑的,我们要用Tomcat跑起项目,就需要建立符合规定的目录结构,这里使用servlet 2.x的规范来建立目录(其实servlet 3.x也会读web.xml,不过如果没有,就会使用反射读取项目里的注解来装配web工程)

  • 目录结构如下
    这里写图片描述

PS:目录结构是规定好的,每个目录的意义可以参考其他博客,这里不做详解

  • 添加依赖包
    lib文件夹就是给我们加包的,一个工程总要加依赖包,不然会编译报错,普通的java工作直接在项目根目录下新建lib文件夹,右键add as library就可以导入IDEA的工程构建了,这里同样的操作,不同的只是移动了下位置,放在了WEN-INF包里(部署好的web应用在处理请求时会调用这个位置的包)添加的包为servlet-api-2.5.jar,Maven仓库里搜索一下就有了,下载然后copy进lib文件夹,右键add as library

demo代码编写

编写HelloWorldController.java

package cn.css.servlet.Controller;

import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class HelloWorldController extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter out = resp.getWriter();
        out.write("hello~hello~i am here");
    }
}

编译

上面我们注意到,有个包叫classes,这个包就是放编译后的java类的,但社区版的IDEA并没有提供相关的web功能,所以我们只能利用IDEA的原始Build功能,然后将编译后的class源码放入classes文件夹里……..T_T

  • 编译
    1. 默认编译后的目录
      这里写图片描述
    2. 编译后出现class文件
      这里写图片描述
    3. 剪切out下的cn包,放到classes文件夹下
      这里写图片描述

配置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>
        <!--servlet名字-->
        <servlet-name>hello</servlet-name>
        <!--Java类全名-->
        <servlet-class>cn.css.servlet.Controller.HelloWorldController</servlet-class>
    </servlet>
    <!--访问地址配置-->
    <servlet-mapping>
        <!--servlet的名字,与上面的名字相同-->
        <servlet-name>hello</servlet-name>
        <!--浏览器访问地址,要以/开头 -->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

手动启动Tomcat

  • 启动的方式很多,既可以进入bin目录打开startup.bat文件启动Tomcat,也可以配置环境变量,直接IDEA的控制台走起,百度很多,这里不一一讲解

  • 打开浏览器,输入地址:http://localhost:8080/HelloServlet/hello,出现效果
    这里写图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值