基础知识-Java-Mac版_IntelliJ_IDEA_创建Web项目

创建一个web项目

  • File -> New Project -> 选择Project SDK为1.8 -> Next
    • 新建一个web项目
  • 在Project name中输入项目名称“Demos” ,Project location选择项目要存放的位置,可以默认 ->Finish
    • 输入项目名称

创建一个Module

  • 鼠标点中项目名称demos -> 右键选择New,选择Module

    • 新建一个Module
  • 勾选Web Application-> 确认已勾选Create web.xml

    • 勾选Web Application
  • 输入Module名称firstweb-> 点击Finish

    • 输入Module名称

新建完成的web项目

  • 新建完web项目后的提示

  • 新建完成后的目录结构

在web/WEB-INF下创建两个文件夹:classes和lib

  • classes用来存放编译后输出的class文件,lib用于存放第三方jar包。

配置文件夹路径

  • File -> Project Structure(快捷键:cmd + ;) -> 选择Module :
    选择Paths -> 选择Use module compile output path -> 将Output path和Test output path都选择刚刚创建的classes文件夹。

  • 接着选择Dependencies -> 将Module SDK选择为1.8 -> 点击下面的“+”号 -> 选择1 Jars or Directories

  • 选择刚刚创建的lib文件夹

  • 选择jar directory -> 接着返回一路OK就行了~~

配置Tomcat容器

  • 打开菜单Run -> 选择Edit Configuration

  • 点击“+”号 -> 选择Tomcat Server -> 选择Local

  • 点击Application server后面的Configure…,弹出Tomcat Server窗口,选择本地安装的Tomcat目录 -> OK

  • 在Run/Debug Configurations窗口的Server选项板中,取消勾选After launch,设置HTTP port和JMX port(默认值即可),点击 Apply -> OK, 至此Tomcat配置完成。

在Tomcat中部署并运行项目

  • Run ->Edit Configurations,进入Run/Debug Configurations窗口 -> 选择刚刚建立的Tomcat容器 -> 选择Deployment -> 点击下面的“+”号 -> 选择Artifact

  • 选择web项目 ->Application context可以填/hello(其实也可以不填的~~) -> OK

编辑index.jsp文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%--
Created by IntelliJ IDEA.
User: guoyanjun
Date: 2017/5/26
Time: 下午2:59
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>这是第一个web项目</title>
</head>
<body>
<p>hello world</p>
<p>第一个项目运行成功啦!</p>
</body>
</html>

  • 运行Tomcat,在浏览器中查看运行结果

Servlet简单实现

  • 编写servlet源文件

  • 在src目录下新建HelloWorld.Java,并编写一下代码并进行编译:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    /**
    * Created by guoyanjun on 2017/5/26.
    */
    import javax.servlet.ServletException;
    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 HelloWorld extends HttpServlet {
    private String message;
    @Override
    public void init()throws ServletException {
    message = "Hello World, This message is from Servlet!";
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //设置响应内容类型
    resp.setContentType("text/html");
    //设置逻辑实现
    PrintWriter out = resp.getWriter();
    out.println("<h3>" + message + "</h3>");
    }

    @Override
    public void destroy() {
    super.destroy();
    }
    }
  • 编译后会发现在classes目录下生成了HelloWorld.class文件

    • IDEA创建servlet时找不到import javax.servlet…相关类包的问题

      1
      2
      3
      4
      5
      import javax.servlet.ServletException;
      import javax.servlet.http.HttpServlet;
      import javax.servlet.http.HttpServletRequest;
      import javax.servlet.http.HttpServletResponse;
      import javax.servlet.http.HttpSession;
- 会提示你,程序包javax.servlet和程序包javax.servlet.http不存在的错误

原因在于Java编译器没有找到软件包javax.servelt

- 解决的方法:把tomcat安装包里的lib目录下的servlet-api.jar拷贝一份到工程文件夹下的web目录下的WEB-INF目录下lib子文件下的,即 web—>WEB-INF–lib
![](./基础知识-Java-Mac版-IntelliJ-IDEA-创建Web项目/15874701407240.jpg)

部署servlet

  • 方法一:在WEB-INF目录下web.xml文件的标签中添加如下内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?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>HelloWorld</servlet-name>
    <servlet-class>HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>
    </web-app>
  • 方法二:在HelloWorld文件的类前面加上@WebServlet(“/HelloWorld”)

  • 运行servlet

    • 点击运行按钮

运行成功

  • 控制台出现successfully则tomcat服务启动成功!
    打开浏览器输入:localhost:8080/hello/HelloWorld即可查看servlet运行状态了。