![](https://box.kancloud.cn/33de5fd7d0e5041bb6452107d8bcc4a0_491x243.png)
HelloServlet.java
~~~
package zyw.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//System.out.println("接收到get请求");
//获取请求行
/* System.out.println("请求方式:"+req.getMethod());
System.out.println("URI:"+req.getRequestURI());
System.out.println("发出请求客户端IP地址:"+req.getRemoteAddr());
System.out.println("服务点接收请求的IP地址:"+req.getLocalAddr());
System.out.println("访问客户端的端口号:"+req.getRemotePort());
System.out.println("web应用路径:"+req.getContextPath());
System.out.println("http协议和版本:"+req.getProtocol());*/
//获取请求头
// Enumeration枚举类型
/* Enumeration<String> headerNames = req.getHeaderNames();//自动补全变量名称 : Ctrl + Alt + v
while (headerNames.hasMoreElements()){
String element = headerNames.nextElement();
System.out.println(element+":"+req.getHeader(element));
}*/
//获取请求参数
String name = req.getParameter("name");
String passWord = req.getParameter("passWord");
System.out.println("用户名:"+name);
System.out.println("密码:"+passWord);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("接收到post请求");
}
}
~~~
get.html
~~~
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<center>
<h2>发起HTTP get请求</h2>
<form action="hi" method="get">
<p>账号: <input type="text" name="name" /></p>
<p>密码: <input type="text" name="passWord" /></p>
<input type="submit" value="提交" />
</form>
</center>
</html>
~~~
![](https://box.kancloud.cn/e48e3bf8c3866c89d38be683f9666f79_1026x230.png)
结果:
![](https://box.kancloud.cn/a5ccf7fb038d22c0ff12206fc5459d7b_600x89.png)
- 学习心得
- 将jar包加入项目中
- Servlet
- 编写第一个Servlet
- 使用Servlet3.0创建Servlet
- HttpServletRequest简介-获取请求行和请求头
- HttpServletResponse获取请求参数
- response对象发送响应行和响应头
- HttpServletResponse发送请求体
- 【实例】验证码
- Servlet的生命周期
- ServletConfig对象
- ServletContext-获取项目初始化参数
- ServletContext对象-在多个Servlet之间共享参数
- 请求转发
- 【实例】登录错误时显示错误界面
- 重定向介绍
- 网页的自动刷新
- Servlet线程安全
- 案例 文件下载
- Cookie与Session会话技术
- 会话技术概述
- Cookie的会话流程
- 获取Cookie
- 【案例 】记录网站上一次访问时间
- Session的会话流程
- 使用Session域对象存取数据
- Session的生命周期和持久化
- 【实例】购物车的简单使用
- JSP技术
- JSP指令
- JSP隐式对象
- JSP标签
- JSTL标签库
- EL表达式
- EL的内置对象和执行表达式
- JSTL简介
- JSTL-if标签
- JSTL-forEach标签
- 【案例】实现商品列表展示
- MySQL数据库
- SQL语句
- 命名规则与数据类型
- SQL-增删改查
- 设计数据库
- JDBC的应用
- JDBC连接数据库
- 查询
- 插入.删除.修改
- Junit单元测试
- 预防SQL注入
- JDBCutils工具类
- 监听器Listener
- ServletContextListener
- HttpSessionListener和ServletRequestListener
- 域对象属性监听器
- 对象感知监听器
- 【案例】商品促销活动推广
- 过滤器Filter
- 创建一个过滤器
- Filter生命周期和配置
- 【案例】解决中文输出乱码问题
- XML入门
- XML元素和解析方式
- XML约束
- 实战-生鲜后台管理系统
- MVC和三层架构
- 项目需求和项目搭建
- 数据库设计
- 注册功能
- 登录功能
- 记住密码
- BeanUtils的使用
- Servlet的抽取(上)
- Servlet的抽取(下)
- 增加生鲜种类
- 查询生鲜列表
- 分页功能
- 修改生鲜信息
- 删除生鲜功能
- 权限控制Filter