idea使用内嵌的Tomcat获取前端用户信息
# 前后台通讯 - 前台发送数据到后台
-
# 工具:idea 社区版
-
# 环境:(没有配置的可以参考以下链接)
-
# 介绍:在 java 代码中内嵌的 Tomcat, 使用 main 函数启动。加载 html 页面后,用户输入信息,获取后显示在控制台
-
# 步骤
# 一. idea 中建立 Maven 项目
# 1. 在 Idea 中配置 maven
-
打开 Idea,点击 File,然后点击 Settings,进入设置,或者直接按 Ctrl+Alt+S 进入设置
-
先在左上角的搜索框输入 maven,找到 maven 后单击,然后在右边的 maven home path 的右边选择你的 maven 安装路径,选择到根目录就好了,然后点击确定,具体步骤看下图:
-
Local repository 是 maven 的 本地仓库,默认路径是 C:\Users\Administrator.m2\repository,可以使用默认路径也可以在 settings.xml 中配置本地 maven 仓库,看自己需要,一般在 settings.xml 中配置好了这里会自动检测你在 settings.xml 中配置的仓库路径 ,具体步骤如下图:
# 2. 在 Idea 中创建 maven 项目
-
点击 File,选择 New,再点击 Project
-
建立 maven 工程,具体看图,别选错 webapp 了
-
接下来输入各类名称,填完后直接 next 下一步
-
配置 maven 信息,具体操作如下图:
-
添加配置 DarchetypeCatalog=internal,添加原因:每次创建 maven 项目时, IDEA 要使用插件进行创建,这些插件当你创建新的项目时,它每次都会去中央仓库下载,这样使得创建比较慢。所以在创建 maven 项目时,应该让它找本地仓库中的插件进行项目的创建。
DarchetypeCatalog=internal
# 3. 完善 maven-web 项目模板
-
第一次加载 maven 项目比较慢,等待右下角的进度条加载结束,下面是刚建好的 maven-web 项目模板
-
上面的项目不完整,不能满足我们的开发需要,所以需要我们手动建设一些文件夹,需要兴建的文件夹如下,以下是 maven 项目的标准目录结构:
src/main/java
src/main/resources
src/test/java
src/test/resources
下面来构建目录,在 main 上右击 New->Directory 新建 java 文件夹和 resources 文件夹
在 src 目录上右击 New->Directory 新建 test 文件夹
在 test 目录上右击 New->Directory 新建 java 和 resources 文件夹
下面只演示一个,其余类似 -
接下来就是把新建立的文件夹进行关联了,看清楚关联对象,关联错了就得重新关联,这一定不能出错,关联方法如下图。
src/main/java 关联为 Sources Root
src/main/resources 关联为 Resources Root
src/test/java 关联为 Test Sources Root
src/test/resources 关联为 Test Resources Root -
以下是关联之后完整的 maven-web 项目的目录,配置完成
# 二。编写前端页面 html,用户提交信息
-
acion 对应创建的 Serlvet 类,method 使用 doPost 方法(见第三部分 java 代码)
-
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<center>
<h1 style=color:green;size="20">userinfo</h1><br>
<form action="LoginServlet" method="post">
username: <input type="text" name="username"><br><br>
hometown: <input type="text" name="hometown"><br>
<input type="submit" value="Login">
</form>
</center>
</body>
</html> -
效果如图:(用户输入信息后点击 Login 登录)
# 三。创建 Serlvet 类,并在 main 函数中嵌入 Tomcat 代码
# 1. 在 pom.xml 中导入 Servlet 依赖,注意代码放在 <dependencys></dependencys > 之间
1 | <!--加入servlet依赖(servlet的jar)--> |
# 2. 创建 Serlvet 类(LoginSerlvet)实现 HttpServlet 接口
1 | import java.io.IOException; |
# 3. 在 pom.xml 中导入 Tomcat 依赖
1 | <!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-servlet-api --> |
# 4. 建立一个测试类,在 main 函数中嵌入 Tomcat 代码
- 使用 main 函数启动,默认加载 webapp 下的 index.jsp
1 | import org.apache.catalina.Context; |
# 5. 配置 web.xml 文件,使 tomcat 启动时加载我们写好的 html 文件,配置 Tomcat 映射路径,使 Serlvet 类能获取页面信息。
1 | <web-app> |
# 四。运行测试类的 main 函数,获取页面信息输入到后端
-
运行 main 函数,在地址栏输入 locathost:8080/userinfo.html(自己编写的 html 文件)访问前端页面,输入信息,点击 Login 登录。
-
可以看到控制台获取前端数据并输出:
至此我们成功获得前端数据并输出