编写一个Servlet当访问该Servlet时可以在页面中打印出本月的日历
以下是一个简单的Servlet示例,用于在页面中打印出本月的日历:
import java.io.IOException;
import java.io.PrintWriter;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CalendarServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
// 获取当前日期
LocalDate currentDate = LocalDate.now();
// 获取本月第一天的日期
LocalDate firstDayOfMonth = currentDate.withDayOfMonth(1);
// 获取本月最后一天的日期
LocalDate lastDayOfMonth = currentDate.withDayOfMonth(currentDate.lengthOfMonth());
// 获取本月第一天是星期几
int firstDayOfWeek = firstDayOfMonth.getDayOfWeek().getValue();
// 打印页面头部
out.println("<html>");
out.println("<head>");
out.println("<title>Calendar</title>");
out.println("</head>");
out.println("<body>");
// 打印页面标题
out.println("<h1>" + currentDate.format(DateTimeFormatter.ofPattern("MMMM yyyy")) + "</h1>");
// 打印日历表格
out.println("<table>");
// 打印星期几的标题行
out.println("<tr>");
out.println("<th>Sun</th>");
out.println("<th>Mon</th>");
out.println("<th>Tue</th>");
out.println("<th>Wed</th>");
out.println("<th>Thu</th>");
out.println("<th>Fri</th>");
out.println("<th>Sat</th>");
out.println("</tr>");
// 打印日期行
out.println("<tr>");
// 打印本月之前的空白格
for (int i = 1; i < firstDayOfWeek; i++) {
out.println("<td></td>");
}
// 打印本月的日期
for (int i = 1; i <= lastDayOfMonth.getDayOfMonth(); i++) {
out.println("<td>" + i + "</td>");
// 如果是星期六,则换行
if (firstDayOfWeek % 7 == 6) {
out.println("</tr>");
out.println("<tr>");
}
// 每打印一个日期,星期几加一
firstDayOfWeek++;
}
// 打印本月之后的空白格
while (firstDayOfWeek % 7 != 0) {
out.println("<td></td>");
firstDayOfWeek++;
}
out.println("</tr>");
out.println("</table>");
// 打印页面尾部
out.println("</body>");
out.println("</html>");
}
}
将上述代码保存为名为CalendarServlet.java的文件,并将其放置在一个合适的Java Web项目中的src目录下的正确包路径中。
然后,您可以在Web应用程序的web.xml文件中添加以下配置以映射该Servlet:
<servlet>
<servlet-name>CalendarServlet</servlet-name>
<servlet-class>包路径.CalendarServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CalendarServlet</servlet-name>
<url-pattern>/calendar</url-pattern>
</servlet-mapping>
现在,当您访问http://localhost:8080/your-web-app-context/calendar时,您将看到一个打印出本月日历的页面
原文地址: https://www.cveoy.top/t/topic/iwFM 著作权归作者所有。请勿转载和采集!