Intellij IDEA 14 环境下开发 servlet 入门

一、开发环境与前期准备

1.开发环境

Mac OS X EI capitan 10.11.1

IDE: Intellij IDEA 14

Java Web 服务器 :tomcat8.0.28

选择tar.gz格式文件包,并解压到常用目录下安装,本人解压路径为 /Users/simon/tomcat ,(将tomcat8.0.28文件夹重命名为tomcat),后文中均以此为例。

2.tomcat 入门

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。但是,不能将Tomcat和Apache Web服务器混淆,Apache Web Server是一个用C语言实现的HTTP web server;这两个HTTP web server不是捆绑在一起的。Apache Tomcat包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。

2.1 文件包中的基本文件结构:(一些 bat 批处理文件为 windows 系统专用,可以删除)

bin 存放启动和关闭tomcat脚本
conf 包含不同的配置文件,server.xml(Tomcat的主要配置文件)和web.xml
work 存放jsp编译后产生的class文件
webapp 存放应用程序示例,以后你要部署的应用程序也要放到此目录
logs 存放日志文件
lib/japser/common 这三个目录主要存放tomcat所需的jar文件

2.2 基本操作与配置启动与关闭:

1
2
3
cd /Users/simon/tomcat/bin
./startup.sh //启动服务,默认使用8080端口
./shutdown.sh //关闭服务

启动服务后,打开本地浏览器输入 http://localhost:8080/ 可以看到 tomcat 的主页,安装成功!

基本配置:

端口配置 ./tomcat/conf/server.xml 文件中 更改 Connector 标签中的 port 属性为需要的端口即可。
用户配置 ./tomcat/conf/tomcat-users.xml 中 节点中添加:

1
<user username="username" password=“password" roles="manager-gui" />

可以添加用户。

二、在 IDEA 中建立第一个 web 应用

1. 新建servlet

直接在 IDEA 中新建一个,project 在JAVA EE的选项中勾选 Web Application

pic1

生成的project目录结构如下:

pic2

在src目录下新建一个 servlet (名为ServletDemo)

pic3

2.导入 servlet-api.jar 包

commond+; 打开 project structure 左侧选择 modules 右侧选择 dependencies 点击下方加号 添加 jar 包 (servlet-api.jar 在 tomcat/lib 目录下)

pic4

3.配置代码

可以在 src 下面的 servlet.java 文件下随便写一些代码(类的结构不能变),比如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package ServletDemo;

import java.io.IOException;
import java.io.PrintWriter;

/**
* Created by simon on 15/11/11.
*/

public class MyFirstServlet extends javax.servlet.http.HttpServlet {
protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World!</h1>");
out.println("</body>");
out.println("</html>");
}
}

web目录下面的 web.xml也需要进行配置,比如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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>MyFirstServlet</servlet-name>
<servlet-class>ServletDemo.MyFirstServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>MyFirstServlet</servlet-name>
<url-pattern>/MyWeb</url-pattern>
</servlet-mapping>
</web-app>

这里主要是对节点进行配置,其中需要跟上面的节点的name保持一致,后面的则是定义访问该动态网站(class 文件)时的url。

web目录下的 index.jsp 则是默认的访问页面。

1
2
3
4
5
6
7
8
9
10
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>My Web</title>
</head>
<body>
this is my first web app.

</body>
</html>

至此,代码部分全部完成。下面需要连接tomcat与IDEA,以在本地服务器上运行这个动态网站。

三、在 IDEA 上运行 tomcat

Java Web项目无法单独运行,它需要一个程序来承载(Host)它,现在我们使用Tomcat来承载这个Web程序。

首先我们要配置好Tomcat,Cmd+, 打开IntelliJ的配置。 如图所示添加tomcat的根目录。

pic5

然后打开菜单中的 run/edit configurations 左上角加号,选择 tomcat server——local
然后如下图所示配置: (右下角若出现警告点击 fix 修复即可)

pic6

这次可以跑了,+。注意看IntelliJ的输出窗口里有什么提示信息,如果有,想想看是什么原因,(出现红字也不要紧张)如果前面的配置无误,一般都是端口被占用了。

运行时 tomcat 会默认打开 http://localhost:8080/ 也就是index.jsp的位置,这时候是一个静态页面。如果想看到自己写的动态页面,请手动打开 http://localhost:8080/MyWeb (根据刚才的 servlet-map 配置文件)。