Java学习3:基于Intellij IDEA实现一个简单Servlet

上一篇介绍了如何实现一个简单的Web Application项目,你一定觉得功能太简单,很想知道怎么实现网页与服务器的交互,现在我们一起来学习Servlet。本文主要的目标是快速实现一个简单的Servlet的demo,至于Servlet具体含义,大家可以百度一下。


一、导入Servlet的依赖包

在项目中导入Servlet的依赖包,因为Tomcat自带Servlet的api,所以我们就直接导入Tomcat库;

(1)在项目的根目录上右键,在菜单中选择“Open Module Settings”;

Java学习3:基于Intellij IDEA实现一个简单Servlet_第1张图片

(2)在“Modules”下选择“Dependencies”一栏,点击右侧“+”按钮,选择菜单中的“Library…”;Java学习3:基于Intellij IDEA实现一个简单Servlet_第2张图片

(3)点开“Application Server Libraries”,选择“Tomcat xxx”(xxx是你的Tomcat版本号),点击“Add Seleted”;Java学习3:基于Intellij IDEA实现一个简单Servlet_第3张图片

(4)现在看到Tomcat已经出现在列表中了,我们点击“OK”就OK了。

Java学习3:基于Intellij IDEA实现一个简单Servlet_第4张图片


二、HelloWorld

按照惯例,我们先来个HelloWorld。

(1)先建一个包(Package),通常我们把java代码放在项目的“src”目录下,所以,在“src”上右键,在菜单钟选择“Package”新建一个包;

Java学习3:基于Intellij IDEA实现一个简单Servlet_第5张图片

在弹窗中输入包名(如下图);

Java学习3:基于Intellij IDEA实现一个简单Servlet_第6张图片

(2)在包里新建一个java类文件。在项目对应的包上右键,在菜单中选择“Java Class”;Java学习3:基于Intellij IDEA实现一个简单Servlet_第7张图片

再弹窗中输入类名(如下图);

Java学习3:基于Intellij IDEA实现一个简单Servlet_第8张图片

(3)接下来,我们就开始敲代码了。把下面这段代码复制进类里:

// 导入需要的 java 库
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// 继承 HttpServlet 类
public class Servlet extends HttpServlet {

    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
            throws ServletException, IOException
    {
        // 设置响应内容类型
        response.setContentType("text/html");

        // 打印文本到网页
        PrintWriter out = response.getWriter();
        out.println("

" + "Hello World!" + "

"); } }

这里用到GET请求,之后再说GET和POST请求。

Java学习3:基于Intellij IDEA实现一个简单Servlet_第9张图片

(4)代码好了,是不是可以直接运行了呢?答案是否定的。我们还得配置Servlet的访问路径,有两种方法:

1、方法一

在项目的web.xml中添加如下代码:

        
            Servlet
            servlet.Servlet
        
        
            Servlet
            // url-pattern可以随便写
            /sl
        
注:servlet-class标签里写新建的Servlet类名,如果没放到包里,就直接写Servlet类名。

Java学习3:基于Intellij IDEA实现一个简单Servlet_第10张图片

2、方法二(推荐)

如果使用了方法一,请先注释掉方法一中“web.xml”里的添加的代码:Java学习3:基于Intellij IDEA实现一个简单Servlet_第11张图片

在“Servlet”类中添加如下代码:

@WebServlet("/sl")

Intellij IDEA会自动帮你导入相关的库:

import javax.servlet.annotation.WebServlet;

注:其他的库也一样,只要你代码需要某个库,且你项目已经导入该库,都会帮你或弹窗提示你导入;比如你继承“HttpServletRequest”,它会帮你“importjavax.servlet.http.HttpServletRequest;”。

(5)现在,我们运行一下,看看结果吧。

在配置好Tomcat本地服务器的情况下,点击右上角的绿色三角按钮,直到下面log信息中出现“Artifact is deployed successfully”就OK了。

然后,在浏览器中输入:http://localhost:8080/webapp/sl,按“Enter”就会在网页上显示如下内容:

Java学习3:基于Intellij IDEA实现一个简单Servlet_第12张图片

你肯定会问:什么情况,还是不能交互啊?请看下一篇:


你可能感兴趣的:(Java)