向Servlet发送请求
创作时间:
作者:
@小白创作中心
向Servlet发送请求
引用
CSDN
1.
https://blog.csdn.net/weixin_42349568/article/details/137104953
本文将通过一个简单的登录案例,详细介绍如何使用Tomcat和Servlet进行Web开发。从项目创建到最终运行,每个步骤都配有详细的代码和说明,适合初学者快速入门。
一、新建项目
新建的Maven项目默认是空的,需要将其配置为Servlet项目。
二、添加Web模块
在新建的空项目中,添加一个Web模块。
三、引入Servlet依赖
在项目的pom.xml文件中添加Servlet依赖,编辑器会自动下载所需的库文件。
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
</dependencies>
四、编写MyServlet类
在Servlet中,需要重写以下方法来处理HTTP请求:
init(): Servlet初始化时调用doGet(): 处理HTTP GET请求doPost(): 处理HTTP POST请求doPut(): 处理HTTP PUT请求service(): 根据HTTP请求类型调用对应的doXXX()方法destroy(): Servlet销毁前调用
下面是具体的MyServlet类实现:
package com.masiyi.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet {
public MyServlet() {
super();
}
@Override
public void init() throws ServletException {
super.init();
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
String username = req.getParameter("username");
String pwd = req.getParameter("pwd");
System.out.println("用户名:" + username + ":密码:" + pwd);
PrintWriter writer = resp.getWriter();
writer.print("用户名:" + username);
writer.print("密码:" + pwd);
writer.close();
super.doPost(req, resp);
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.service(req, resp);
}
@Override
public void destroy() {
super.destroy();
}
}
五、配置Servlet访问路径
可以通过web.xml文件或注解方式配置Servlet的访问路径。
在web.xml中配置如下:
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.masiyi.servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/myServlet</url-pattern>
</servlet-mapping>
或者使用注解方式:
@WebServlet("/MyServlet")
六、编写JSP页面
在Web项目的根目录下创建index.jsp文件,用于接收用户输入并提交到Servlet处理。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>向Servlet发送请求</title>
</head>
<body>
<%--注意:
action的值 是 :web.xml 文件中的 url-pattern 的值。
--%>
<form action="/MyServlet" method="post">
用户名: <input type="text" name="username"> <br>
密码: <input type="password" name="pwd"> <br>
<input type="submit" value="提交">
</form>
</body>
</html>
七、运行项目
使用IDEA的Tomcat插件部署项目。
八、运行结果
当浏览器访问localhost:8080时,会显示index.jsp页面。点击提交按钮后,浏览器的URL会变为localhost:8080/MyServlet,并发起POST请求。由于@WebServlet("/MyServlet")注解将该路径映射到MyServlet类,因此会执行该类中的业务逻辑。
总结:Servlet是Java中用于处理Web请求的一种技术,它封装了HTTP请求和响应的处理逻辑。通过继承Servlet类并重写其中的方法,可以创建自定义的Servlet类,用来拦截和处理HTTP请求,从而完成业务代码逻辑。
热门推荐
司马懿识破空城计却未攻城:一场政治与军事的微妙平衡
速看!京雄高速二期最新进展
中国天文,从4000年前的“立竿见影”谈起
交替性鼻塞属于哪种鼻炎?用什么药物治疗?
安吉白茶的文化内涵及社会价值
安卓系统黑名单:信息安全利器大揭秘
无人机电调全技术解析:从电路设计、控制原理到运维实战
消息称微软许可即将到期,华为笔记本将告别Windows,全部改用鸿蒙
起夜排尿超过2次是肾不好?错!这6个健康隐患更值得关注
不能经口进食的吞咽障碍患者如何进行吞咽器官训练?
重庆酉阳:以“四色”描绘文旅融合新图景 将“桃花源”打造成世界级名片
如何选择适合的测试用例方法适用场景?深入解析不同方法的优劣
钢质发动机护板的性能如何?它的防护效果怎样体现?
ADX指标的调整方法及其对交易决策的影响
什么是电压表?电压表的用途及原理
探秘铜仁九龙洞:一场惊艳的自然之旅
Excel快捷键懒人包
硫酸法与氯化法钛白粉在涂料中的应用比较
详解出国签证办理条件与流程,一站式解答签证申请疑问
家用电饭煲与电压力锅:功能特性与选购指南
五十岁后,人生真正的开始:巅峰状态,做好这6点活出黄金岁月
糖尿病患者饮食指南:十大原则助你轻松控制血糖
膝盖后腿窝筋疼痛别忽视,这些知识点要牢记!
顶级医学期刊研究揭示:大腿围每增加5厘米,死亡率降低18%
如何检查汽车机油量?这种检查方法对发动机保养有何影响?
犬眼睑外翻:症状、原因、诊断与治疗全解析
腰肌劳损贴什么膏药好?
机油生产日期怎么看?如何判断机油是否过期?
什么是指数平滑异同移动平均线(MACD)?
复方感冒灵颗粒和感冒灵颗粒有什么区别