准备工具
- 官网上下载的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 "%r" %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
- 编译
- 默认编译后的目录

- 编译后出现class文件

- 剪切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,出现效果

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

被折叠的 条评论
为什么被折叠?



