动态web技术:Servlet详解
2021/6/12 10:26:10
本文主要是介绍动态web技术:Servlet详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 Servlet简介- Servlet就是sun公司开发动态web的一门技术
- Sun在这些API中提供一个接口叫做:Servlet。
- 开发一个Servlet程序,只需两步:编写一个类,实现Servlet接口把开发好的java类部署到web服务器中。
实现了Servlet接口的java程序叫做:Servlet。
2 HelloServlet实现了Servlet接口的默认有两个类:HttpServlet、GenericServlet。
一般直接继承HttpServlet,重写doGet()和doPost()方法。
3 步骤 1、Maven依赖主要是两个包:
- servlet-api
- jsp-api
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency>2、写一个类,继承HttpServlet
- 重写doGet()和doPost()方法。
- 由于get或者post只是请求的方式不同,业务逻辑一样,可以互相调用。
public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取前端传送参数 String method =req.getParameter("method"); if("add".equals(method)){ req.getSession().setAttribute("msg", "执行一个add方法~"); } if("delete".equals(method)){ req.getSession().setAttribute("msg", "执行一个delete方法~~"); } //进行业务处理 //转发或重定向到视图,此处为转发到指定页面 req.getRequestDispatcher("/WEB-INF/jsp/home.jsp").forward(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }3、编写要转发的页面 home.jsp
- servlet处理完成后,转发到 /WEB-INF/jsp/home.jsp页面。
- 页面正文展示${msg},表示servlet返回的msg字段内容。
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>zuka</title> </head> <body> ${msg} </body> </html>4、编写Servlet映射
为什么需要映射:
- Servlet实现类是JAVA程序,是通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web.xml中注册我们写的Servlet。
- 还需要提供一个浏览器可以访问的路径。
【注意】:/hi中,斜杠/一定不能少,否则IDEA启动Tomcat会报错。
<?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_4_0.xsd" version="4.0"> <!--注册servlet--> <servlet> <servlet-name>hi</servlet-name> <servlet-class>servlet.MyServlet</servlet-class> </servlet> <!--servlet请求路径,斜杠/不能少,否则启动Tomcat会报错--> <servlet-mapping> <servlet-name>hi</servlet-name> <url-pattern>/hi</url-pattern> </servlet-mapping> </web-app>5、Tomcat配置
- 首先确保要测试的工程,至少有一个artifact,若一个都没有,则点击+新增。
- 新增本地Tomcat测试实例。
6、启动测试
- 首先进入http://localhost:8080/servlet_war/ ,展示默认页面index.jsp。
- 加上servlet访问路径 /hi,并传送参数 ?method=add,进入页面 http://localhost:8080/servlet_war/hi?method=add 。映射的servlet 根据前端传送的参数method=add返回msg内容 "执行了一个add方法~"。
- 将URL映射到java类或java类的方法。
- 封装用户提交的数据。
- 处理请求--调用相关的业务处理--封装响应数据。
- 将相应的数据进行渲染,jsp/html等表示层数据。
原文链接:https://www.cnblogs.com/letsdaydayup/p/14431529.html
如果觉得本文对你有帮助,可以转发关注支持一下
这篇关于动态web技术:Servlet详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Java语音识别项目资料:新手入门教程
- 2024-11-26JAVA语音识别项目资料:新手入门教程
- 2024-11-26Java语音识别项目资料:入门与实践指南
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料:新手入门教程
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25Java对接阿里云智能语音服务资料详解