之前介绍过在简单运行一个Servlet,对于简单的项目,这么做是可行的,但是对于复杂的项目,不可取。IDE,集成开发环境,专门为大项目而生,方便管理项目,为程序员减少了很多不不必要的工作,将更多的注意放在核心业务上。这里介绍的IDE是Eclipse,的一个特别版本,Eclipse-jee,偏向于开发Java Web项目。
1)下载eclipse-jee
在eclipse官网下载,可以通过切换国内的mirror提高下载速度
我下载的是eclipse-jee-2021-09-R-win32-x86_64,不用安装,解压就可以使用。
第一次打开后会让你选择目录作为工作区。
进入主界面后先配置Tomcat
点击Window,选择Preferences,找到Server,Runtime Environments。add(New Server Runtime Environment),选择你本地对应版本的Tomcat,选择你Tomcat的安装目录。jre选择你的本地的jre目录。
File新建Dynamic(动态) web project,Content directory对应tomcat中的ROOT目录,当然这种映射关系后面可以改,记得勾选Generate(生成) web.xml,完成。
在webapp目录下新建一个index.html作为我们的默认页面(注意html文件名不能大写)
index 您好,这是默认网页!
一定要是在webapp下,因为这是webapp和ROOT是对应关系,而JSP和HTML页面都是放在ROOT目录下的,只有servlet放在WEB-INF下的classes目录下。
运行之前,选择我们的浏览器,在Window中点击Web Browser选择1系统默认浏览器
右键项目名run as,选择我们的Tomcat,如果显示404,找不到网页,两种解决办法:
1.补全URL
2.在web.xml中配置index.html为默认页面。在
创建一个简单的html成功后,我们接着来试试JSP页面
JSP页面文件名并不像Servlet那么规范
在webapp下新建一个JSP文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Hello JSP页面
<%
out.println("hello,JSP页面");
%>
由于eclipse的默认编码是charset=ISO-8859-1,而这种编码不支持中文,所以我们来修改一下JSP的编码方式,我们在JSP代码空白处右键选择Preference,在弹出的页面内将encoding选中为Unicode(UTF-8)。
同样,我们还需要将文本内容的编码方式改为UTF-8(这个编码和程序无关),选择菜单栏Windows--preferences,在搜索框中搜索Content Type,将Text下的JSP编码方式改为UTF-8,并点击update;
最后,我们再来写一个Servlet
在src/main/java目录下新建一个名为DisplayHeader的servlet
// 导入必需的 java 库
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
// 扩展 HttpServlet 类
public class Refresh extends HttpServlet {
// 处理 GET 方法请求的方法
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// 设置刷新自动加载时间为 5 秒
response.setIntHeader("Refresh", 5);
response.setCharacterEncoding("utf-8");
// 设置响应内容类型
response.setContentType("text/html");
// Get current time
Calendar calendar = new GregorianCalendar();
String am_pm;
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
if(calendar.get(Calendar.AM_PM) == 0)
am_pm = "AM";
else
am_pm = "PM";
String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
PrintWriter out = response.getWriter();
String title = "自动刷新 Header 设置";
String docType =
"n";
out.println(docType +
"n" +
"" + title + " n"+
"n" +
"" + title + "n" +
"
当前时间是:" + CT + "
n");
}
// 处理 POST 方法请求的方法
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
配置web.xml
DisplayHeader DisplayHeader DisplayHeader /DisplayHeader
运行,补全url即可。



