servlet创建web后端程序的示例代码
一、Servlet概述
Server Applet的简称,用Java编写的服务器端的程序。它运行在web服务器中,web服务器负责Servlet和客户的通信以及调用Servlet方法。
前端页面、服务器和后端javaEE程序关系图:

Servlet的作用:1.接收用户发送的请求数据; 2.调用其他的java程序来处理请求; 3.根据处理结果,将结果响应给客户端。
二、创建servlet程序
1.创建类继承HttpServlet
在src下先创建包,在servlet包下创建一个登录类,继承HttpServlet类,于是我们创建的类就具备了servlet的程序功能,启动服务器时就会加载继承HttpServlet的类。由于HttpServlet是javaEE的类,需要导入tomcat中的servlet-api.jar包。

在安装Tomcat文件里的bin目录中:

复制bin目录中的 servlet-api.jar 包到项目中的web目录下:


加载jar包:

这样,我们的类成功的继承了import javax.servlet.http.HttpServlet包下的HttpServlet类。
2.重写HttpServlet类中 service、destroy、init方法

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 LoginServlet extends HttpServlet {
/*
无参构造方法,初始化创建的对象
在第一次访问这个Servlet时或服务器启动时被调用了,只调用了一次
*/
public LoginServlet() {
System.out.println("LoginServlet无参构造方法");
}
/*
提供服务的,每次访问servlet程序,service方法都会执行, 多次执行
*/
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("service");
}
/*
在服务器关闭时会被调用,可以在服务器关闭时执行一些必要的操作,
此方法可以在我们的类中不重写,会调用父类中destroy()
*/
@Override
public void destroy() {
System.out.println("destroy");
}
/*
在构造方法执行完成后,紧接着来执行,用来初始化servlet,只调用了一次,
如果没有初始化的需要,也可以不进行重写,那么会调用父类中init().
*/
@Override
public void init(ServletConfig config) throws ServletException {
System.out.println("init");
}
}3.在web.xml文件中配置servlet
<?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>loginServlet</servlet-name><!-- 定义servlet对象名字 -->
<!-- 配置servlet类地址,在第一次或启动服务器时,由服务器通过反射机创建次servlet对象制
默认是第一次访问servlet时创建对象
还可以配置在启动时创建对象<load-on-startup>1</load-on-startup> 值>=0
-->
<servlet-class>com.yyds.webback2.servlet.LoginServlet</servlet-class>
<!-- <init-param>-->
<!-- <param-name>count</param-name>-->
<!-- <param-value>22</param-value>-->
<!-- </init-param>-->
<!-- <load-on-startup>1</load-on-startup> -->
</servlet>
<!-- 为指定name的servlet配置一个供前端进行访问映射地址-->
<servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
</web-app>补充:<init-param>中的值可以在init方法中拿到:System.out.println(config.getInitParameter("count"));
4.重新启动服务器
访问 localhost:8080/webBack2/login
可在idea输出台观察构造方法和重写方法的调用顺序。
到此这篇关于servlet创建web后端程序的示例代码的文章就介绍到这了,更多相关servlet创建web后端程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
spring @Validated 注解开发中使用group分组校验的实现
这篇文章主要介绍了spring @Validated 注解开发中使用group分组校验的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-05-05
mybatis的mapper特殊字符转移及动态SQL条件查询小结
mybatis mapper文件中条件查询符,如>=,<,之类是不能直接写的会报错的需要转移一下,本文给大家介绍了常见的条件查询操作,对mybatis的mapper特殊字符及动态SQL条件查询相关知识感兴趣的朋友一起看看吧2021-09-09
mybatis-plus如何修改日志只打印SQL语句不打印查询结果
这篇文章主要介绍了mybatis-plus如何修改日志只打印SQL语句不打印查询结果问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-06-06
@Autowired与@Resource在实现对象注入时的区别
这篇文章主要介绍了@Autowired与@Resource在实现对象注入时的区别,有需要的朋友可以借鉴参考下,希望能够有所帮助2023-04-04


最新评论