当前位置:网站首页 > Go语言开发 > 正文

tomcat和Servlet开发小案例

一,新建项目

在这里插入图片描述
我们新建的maven项目其实里面是空的。所以我们需要给他变成一个servlet项目。

二,添加web模块

新建一个空项目之后,我们给他增加一个Web模块。
请添加图片描述

三,引入servlet

在编辑器的pom.xml直接写,编辑器会帮助我们自动下载.

 <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> </dependency> </dependencies> 

在这里插入图片描述

四,编写自己的MyServlet类

基本上就是以自己的需求来重写http请求和响应:

init(): 这个方法在Servlet初始化时被调用 doGet(): 这个方法用于处理HTTP GET请求 doPost(): 这个方法用于处理HTTP POST请求 doPut(): 这个方法用于处理HTTP PUT请求 service(): 这个方法根据HTTP请求的方法类型,调用对应的doXXX()方法。 destroy(): 这个方法在Servlet被销毁前被调用 

如下:

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> <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> 

这段XML配置代码用于将Servlet类com.masiyi.servlet.MyServlet映射到URL模式/myServlet上。

标签用于配置一个Servlet,其中:

指定了Servlet的名称为myServlet。 指定了Servlet类的完整路径为com.masiyi.servlet.MyServlet。 
@WebServlet("/MyServlet") 

六,编写页面

在web根目录创建index.jsp文件

<%@ 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的tomcath插件部署项目
请添加图片描述

八,运行后的结果

在这里插入图片描述
也就是说,当我们运行部署项目后,浏览器访问localhost:8080,就是访问的index.jsp文件,浏览器解析这个文件,渲染出了这个页面.
而当我们点击提交时,浏览器的url变成localhost:8080/MyServlet,发起了一个新的post请求.
又因为@WebServlet("/MyServlet")这个注解,将该路径映射到MyServlet这个类上,于是开始执行这个类.
又因为它是servlet的实例,支持htt请求和响应的处理,所以能够返回新的数据给浏览器.
也就是说:Servlet是Java中用于处理Web请求的一种技术,它封装了HTTP请求和响应的处理逻辑。通过继承Servlet类并重写其中的方法,我们可以创建自定义的Servlet类,用来拦截和处理HTTP请求,从而完成业务代码逻辑。
具体来说,当客户端发送HTTP请求时,Servlet容器会根据Servlet的映射关系找到对应的Servlet类,并调用其相应的方法(如doGet、doPost等)来处理请求。在自定义的Servlet类中,我们可以编写业务逻辑代码,包括数据处理、页面渲染、数据库操作等,以实现特定的功能。

到此这篇tomcat和Servlet开发小案例的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • Web应用开发框架-egg进阶与实战(二)01——mongoose简介2024-12-03 08:18:05
  • 网络爬虫开发(五)01-爬虫高级——Selenium简介 & 根据平台选择安装selenium-webdriver包 & Selenium的基本使用2024-12-03 08:18:05
  • tabs标签页的使用——el-tabs动态组件的使用、sessionStorage.getItem、sessionStorage.setItem、goBack返回2024-12-03 08:18:05
  • mac下 westorm配置开发微信小程序2024-12-03 08:18:05
  • 饥荒Mod 开发(八):游戏所有食材和食物2024-12-03 08:18:05
  • 手把手云开发小程序-(五)-小程序的发布和上线2024-12-03 08:18:05
  • 手把手云开发小程序-(四)-uniclould增删改查业务开发2024-12-03 08:18:05
  • 手把手云开发小程序-(三)_uniclould小程序的登录2024-12-03 08:18:05
  • 手把手云开发一个小程序-(二)-uniclould的购买和默认库的使用2024-12-03 08:18:05
  • 手把手云开发一个小程序-(一)-搭建项目框架2024-12-03 08:18:05
  • 全屏图片