文章目录
tomcat安装与下载

向浏览器响应HTML代码
项目结构
前端
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<a href="/demo1/login">进入系统</a>
</body>
</html>
后端
java
package com.yanyu;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class Login extends HttpServlet {
// ctrl o
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("第一个程序");
/*
浏览器 发送 请求 ,请求 到达 服务器 ,处理业务 ,
吧 结果 借助 响应 对象 ,响应给 浏览器
HttpServletRequest request, 请求 请求对象
HttpServletResponse response 回应 响应 对象
*
*
*
* */
// 设置 请求 和响应的编码格式
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
// 处理 请求 和 响应 的 乱码问题 : 针对 中文 乱码
// tomcat 10 不需要考虑 真 乱码 问题 ,即便是 tomcat 最好 写上上面两个代码
// 响应 的 类型
response.setContentType("text/html");// 向 浏览器输出的内容为 text html
// 告诉 浏览器 按照什么类型来解析 服务器 返回的 数据
// 创建爱一个 响应 输出流
PrintWriter out = response.getWriter();
// out 就可以 向浏览器 输出 内容
out.println("登录 成功!!!");
}
}

java
package com.yanyu;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class Login extends HttpServlet {
// ctrl o
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("第一个程序");
/*
浏览器 发送 请求 ,请求 到达 服务器 ,处理业务 ,
吧 结果 借助 响应 对象 ,响应给 浏览器
HttpServletRequest request, 请求 请求对象
HttpServletResponse response 回应 响应 对象
*
*
*
* */
// 设置 请求 和响应的编码格式
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
// 处理 请求 和 响应 的 乱码问题 : 针对 中文 乱码
// tomcat 10 不需要考虑 真 乱码 问题 ,即便是 tomcat 最好 写上上面两个代码
// 响应 的 类型
response.setContentType("text/html");// 向 浏览器输出的内容为 text html
// 告诉 浏览器 按照什么类型来解析 服务器 返回的 数据
// 创建爱一个 响应 输出流
PrintWriter out = response.getWriter();
// out 就可以 向浏览器 输出 内容
out.println("登录 成功!!!");
// alt
out.println(" <!DOCTYPE html>");
out.println("<html lang='en'>");
out.println("<head>");
out.println(" <meta charset='UTF-8'>");
out.println(" <meta name='viewport' content='width=device-width, initial-scale=1.0'>");
out.println(" <title>学生列表</title>");
out.println(" <style>");
out.println(" body{");
out.println(" text-align: center;");
out.println(" }");
out.println(" table{");
out.println(" margin: 0 auto;");
out.println(" /* 居中块级标签 */");
out.println(" }");
out.println(" a{");
out.println(" text-decoration: none;");
out.println(" /* 去掉 超链接的 下划线 */");
out.println("");
out.println(" }");
out.println(" a:hover{");
out.println(" color: red;");
out.println(" background-color: bisque;");
out.println(" /* 伪类标签 */");
out.println(" }");
out.println(" td:hover{");
out.println(" background-color: bisque;");
out.println(" }");
out.println(" </style>");
out.println("</head>");
out.println("<body>");
out.println(" <h1>学生列表</h1>");
out.println(" <a href='./add.html'>新增学生</a>");
out.println(" <br><br>");
out.println(" <table border='1px' >");
out.println(" <tr>");
out.println(" <td width='50px'>序号</td>");
out.println(" <td width='150px'>姓名</td>");
out.println(" <td width='100px'>学号</td>");
out.println(" <td width='300px'>专业</td>");
out.println(" <td width='200px'>操作</td>");
out.println(" </tr>");
out.println(" <tr>");
out.println(" <td width='50px'>1</td>");
out.println(" <td width='150px'>yanyu1</td>");
out.println(" <td width='100px'>1001</td>");
out.println(" <td width='300px'>软件技术</td>");
out.println(" <td width='200px'>");
out.println(" <a href='./detail.html'>详情</a>");
out.println(" <a href='./modify.html'>修改</a>");
out.println(" <a href='#'>删除</a>");
out.println(" </td>");
out.println(" </tr>");
out.println(" <tr>");
out.println(" <td width='50px'>2</td>");
out.println(" <td width='150px'>烟雨2</td>");
out.println(" <td width='100px'>1002</td>");
out.println(" <td width='300px'>计算机应用技术</td>");
out.println(" <td width='200px'>");
out.println(" <a href='#'>详情</a>");
out.println(" <a href='#'>修改</a>");
out.println(" <a href='#'>删除</a>");
out.println(" </td>");
out.println(" </tr>");
out.println(" <tr>");
out.println(" <td width='50px'>3</td>");
out.println(" <td width='150px'>烟雨3</td>");
out.println(" <td width='100px'>1003</td>");
out.println(" <td width='300px'>会计</td>");
out.println(" <td width='200px'>");
out.println(" <a href='#'>详情</a>");
out.println(" <a href='#'>修改</a>");
out.println(" <a href='#'>删除</a>");
out.println(" </td>");
out.println(" </tr>");
out.println("");
out.println(" </table>");
out.println("");
out.println("");
out.println("</body>");
out.println("</html>");
out.println("");
}
}