15.IDEA 配置 Tomcat 和使用 构建HTTP请求GET方法和POST方法

目录

一、Tomcat

二、IDEA配置Tomcat

例子

 整个的流程

三、构建HTTP请求GET方法和POST方法

1.构建GET方法

2.构建POST方法


一、Tomcat

HTTP服务器(读取HTTP请求+解析HTTP请求;构造HTTP响应+发送HTTP响应)

Servlet容器(遵守Servlet标准,按照标准调用对应方法进行处理)

二、IDEA配置Tomcat

先提前下载好Tomcat

下载地址https://download.csdn.net/download/qq_46235384/85577195

1.IDEA新建一个Maven项目

 2.写项目的名称然后finish

3.在pom.xml中插入依赖并把<properties></properties>中的版本改为1.8

<dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
 </dependencies>

4.修改完成后点击下面的图标

 5.目录格式改成下面这样

6.在WEB-INF文件夹下新建一个web.xml文件,写入下面内容

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1"
         metadata-complete="false">
</web-app>

 7.在setting下的Plugins 中搜索tomcat就会出现我们需要下载的插件,下载就可以

8.下载完成后点击下面的内容开始配置

 9.点击+选择smart Tomcat

10.点击configuration

11.在这里选择刚开始下载的Tomcat文件夹,选中的文件夹的下一级必须是包含bin等其他目录的

 12.如下配置,记好标红的部分

 13.配置成功会出现下面的图标

 

14.启动Tomcat,控制台出现就说明配置成功

例子

新建一个first-web项目,在webapp文件夹下建立相同的目录,hello.html文件中引入了script.js文件,script.js文件中使用students.json文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script src="js/script.js"></script>
</body>
</html>
// 利用这个对象发起 HTTP 请求
var xhr = new XMLHttpRequest();
xhr.open("get", "data/students.json");
// 以时间驱动的方式,读取响应 —— 当 xhr 完成响应时,执行我们准备好的函数
xhr.onload = function () {
    console.log(this);      // this 就是 xhr 对象
    console.log(this.responseText); // string 类型
    console.log(xhr.responseText);  // string 类型

    // 我们希望把 json 字符串解析成 js 的具体数据类型
    var sts = JSON.parse(this.responseText);
    console.log(sts);
    var body = document.querySelector("body");
    for(var i in sts){
    var st = sts[i];
    body.innerHTML += `<div>${st,name}</div>`;
    }
}
xhr.send(); // 发送 HTTP 请求
[
  {
    "name": "小明",
    "gender": 2
  },
  {
    "name": "小张",
    "gender": 3
  },
  {
    "name": "小王",
    "gender": 4
  }
]

 在浏览器地址栏中输入127.0.0.1:8080/first-web/hello.html,网络面板中显示

 控制台会输出

 整个的流程

1.用户在浏览器输入 /ajax.html回车

2.浏览器分析用户的输入,构建HTTP请求,使用GET方法

3.Tomcat收到请求,根据用户输入的资源路径找到对应的文件webapp/ajax.html,读取内容,准备响应并发送响应(200 OK Content-Type是text/html)

4.读取响应体,根据Content-Type决定按照html方式对待内容,解析HTML中的标签

5.在解析过程中,发现<script src ="...."></script>,构造一个新的HTTP请求,此时还是GET方法

6.Tomcat根据资源路径,找到对应的文件,读取内容,准备HTTP响应(200 OK Content-Type是application/javascript....)

7.浏览器读取响应体,根据Content-Type执行JS代码,实例化xhr对象,浏览器构建HTTP请求,此时是GET方法

8.Tomcat根据资源路径,找到对应的文件,读取内容,准备HTTP响应(200 OK Content-Type是application/json....)

9.浏览器读取响应,执行JS代码中的xhr.onload()函数,遍历对象并且DOM树

10.浏览器得到最终的DOM结构,显示内容

11.用户看到网页的最终形式

三、构建HTTP请求GET方法和POST方法

1.构建GET方法

地址栏直接输入url,通过一些标签<img>、<script>、<link>、<a>、form表单、ajax请求、重定向

1.1<img>标签

 <img src="data/students.json">

1.2<script>标签

 <script src="data/students.json"></script>

1.3<link>标签 

  <link rel="stylesheet" href="data/students.json">

1.4<a>标签 

<a href="data/students.json">XXX</a>

点击之后

 1.5form表单

<form action="data/students.json">
    <button>提交</button>
</form>

点击之后

2.构建POST方法

form表单、ajax请求、重定向

2.1form表单

<form method="post" action="data/students.json">
    <button>提交</button>
</form>

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是使用 IDEA + Tomcat + Servlet 实现登录注册的示例代码。 在这个示例代码中,我们使用了 MySQL 数据库来存储用户的信息。在使用该示例代码之前,您需要先在本地安装 MySQL 数据库,并创建一个名为 `user_info` 的数据库,在该数据库中创建一个名为 `users` 的表,表结构如下: ``` CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4; ``` 该表用于存储用户的用户名和密码。 在开始编写代码之前,您需要先下载并安装 MySQL Connector/J,该驱动程序用于连接 MySQL 数据库。 接下来,我们将编写一个登录页面和一个注册页面。当用户提交登录或注册表单时,我们将使用 Servlet 处理用户的请求,并将用户的信息存储到数据库中。 登录页面 (`login.jsp`) 的代码如下: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Login Page</title> </head> <body> <h1>Login Page</h1> <form action="login" method="post"> <label>Username:</label> <input type="text" name="username"><br> <label>Password:</label> <input type="password" name="password"><br> <input type="submit" value="Login"> </form> <p>Not registered yet? <a href="register.jsp">Register here</a>.</p> </body> </html> ``` 注册页面 (`register.jsp`) 的代码如下: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Register Page</title> </head> <body> <h1>Register Page</h1> <form action="register" method="post"> <label>Username:</label> <input type="text" name="username"><br> <label>Password:</label> <input type="password" name="password"><br> <input type="submit" value="Register"> </form> <p>Already registered? <a href="login.jsp">Login here</a>.</p> </body> </html> ``` 接下来,我们将编写 Servlet 处理用户的登录和注册请求。在 IDEA 中,可以使用 “File → New → Project” 命令创建一个新的 Web 应用程序项目,并选择 “JavaEE” 和 “Web Application” 作为项目类型。 在项目中,我们创建一个名为 `LoginServlet` 的 Java 类,用于处理用户的登录请求。代码如下: ```java package com.example; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @WebServlet("/login") public class LoginServlet extends HttpServlet { private static final String DB_URL = "jdbc:mysql://localhost:3306/user_info"; private static final String DB_USER = "root"; private static final String DB_PASSWORD = "password"; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); PrintWriter out = response.getWriter(); try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { out.println("Error: unable to load driver class!"); return; } Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; try { conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); String sql = "SELECT * FROM users WHERE username=? AND password=?"; stmt = conn.prepareStatement(sql); stmt.setString(1, username); stmt.setString(2, password); rs = stmt.executeQuery(); if (rs.next()) { out.println("Login successful!"); } else { out.println("Invalid username or password!"); } } catch (SQLException e) { out.println("Error: " + e.getMessage()); } finally { try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { out.println("Error: " + e.getMessage()); } } } } ``` 在上面的代码中,我们首先获取用户提交的用户名和密码,然后使用 JDBC 连接到 MySQL 数据库,并查询表中是否存在该用户的信息。如果存在,则输出 “Login successful!”;否则,输出 “Invalid username or password!”。 接下来,我们创建一个名为 `RegisterServlet` 的 Java 类,用于处理用户的注册请求。代码如下: ```java package com.example; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; @WebServlet("/register") public class RegisterServlet extends HttpServlet { private static final String DB_URL = "jdbc:mysql://localhost:3306/user_info"; private static final String DB_USER = "root"; private static final String DB_PASSWORD = "password"; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); PrintWriter out = response.getWriter(); try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { out.println("Error: unable to load driver class!"); return; } Connection conn = null; PreparedStatement stmt = null; try { conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); String sql = "INSERT INTO users (username, password) VALUES (?, ?)"; stmt = conn.prepareStatement(sql); stmt.setString(1, username); stmt.setString(2, password); stmt.executeUpdate(); out.println("Registration successful!"); } catch (SQLException e) { out.println("Error: " + e.getMessage()); } finally { try { if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { out.println("Error: " + e.getMessage()); } } } } ``` 在上面的代码中,我们首先获取用户提交的用户名和密码,然后使用 JDBC 连接到 MySQL 数据库,并将用户的信息插入到表中。如果插入成功,则输出 “Registration successful!”;否则,输出错误信息。 最后,我们需要将登录页面和注册页面链接到 Servlet 上。在 `web.xml` 文件中,添加以下内容: ```xml <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.example.LoginServlet</servlet-class> </servlet> <servlet> <servlet-name>RegisterServlet</servlet-name> <servlet-class>com.example.RegisterServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>RegisterServlet</servlet-name> <url-pattern>/register</url-pattern> </servlet-mapping> ``` 在上面的配置中,我们将 `LoginServlet` 映射到 `/login` URL 上,将 `RegisterServlet` 映射到 `/register` URL 上。 现在,您可以使用 Tomcat 运行该应用程序,并在浏览器中打开登录页面 (`http://localhost:8080/login.jsp`) 或注册页面 (`http://localhost:8080/register.jsp`) 进行测试了。 希望这个示例代码能够帮助您使用 IDEA + Tomcat + Servlet 实现登录注册的小项目。如果您有任何疑问或需要进一步帮助,请随时回复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习java的张三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值