上一篇介绍了如何实现一个简单的Web Application项目,你一定觉得功能太简单,很想知道怎么实现网页与服务器的交互,现在我们一起来学习Servlet。本文主要的目标是快速实现一个简单的Servlet的demo,至于Servlet具体含义,大家可以百度一下。
一、导入Servlet的依赖包
在项目中导入Servlet的依赖包,因为Tomcat自带Servlet的api,所以我们就直接导入Tomcat库;
(1)在项目的根目录上右键,在菜单中选择“Open Module Settings”;
(2)在“Modules”下选择“Dependencies”一栏,点击右侧“+”按钮,选择菜单中的“Library…”;
(3)点开“Application Server Libraries”,选择“Tomcat xxx”(xxx是你的Tomcat版本号),点击“Add Seleted”;
(4)现在看到Tomcat已经出现在列表中了,我们点击“OK”就OK了。
二、HelloWorld
按照惯例,我们先来个HelloWorld。
(1)先建一个包(Package),通常我们把java代码放在项目的“src”目录下,所以,在“src”上右键,在菜单钟选择“Package”新建一个包;
在弹窗中输入包名(如下图);
(2)在包里新建一个java类文件。在项目对应的包上右键,在菜单中选择“Java Class”;
再弹窗中输入类名(如下图);
(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("<h1>" + "Hello World!" + "</h1>");
}
}
这里用到GET请求,之后再说GET和POST请求。
(4)代码好了,是不是可以直接运行了呢?答案是否定的。我们还得配置Servlet的访问路径,有两种方法:
1、方法一
在项目的web.xml中添加如下代码:
<servlet>
<servlet-name>Servlet</servlet-name>
<servlet-class>servlet.Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet</servlet-name>
// url-pattern可以随便写
<url-pattern>/sl</url-pattern>
</servlet-mapping>
注:servlet-class标签里写新建的Servlet类名,如果没放到包里,就直接写Servlet类名。
2、方法二(推荐)
如果使用了方法一,请先注释掉方法一中“web.xml”里的添加的代码:
在“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”就会在网页上显示如下内容:
你肯定会问:什么情况,还是不能交互啊?请看下一篇: