Javaservlet后端开发超详细教程
java后端介绍
今天我正式开始了一个新话题,那就是 Web。目前我主要会介绍后端。作为后端的老大哥 java,也有很多后端框架,比如大家耳熟能详的 spring 等。今天来带大家入门 servlet,不管是学生,刚毕业或是已经工作自学编程的人群都能看懂。
准备工作
目前我们使用的服务器是 Tomcat,大家可以先安装 Tomcat,这一步网上有很多教程,我不再说了。然后还需要下载 idea,配置 Tomcat 和 jdk,这些网上都有,如果配置遇到问题可以私信我。
Servlet项目创建
大家先用idea 创建 web 项目,创建好后应是这样。
现在在你的 class="lazy" data-src 目录下创建一个package,并命名为 com.xxxx.servlet。
然后在这个包下面创建一个 java类,名叫 servlet(你也可以自己起名字)
Servlet的基础使用
导入包
package com.xxxx.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
主要是导入了 servlet 的基本方法。
创建 java 类,并继承自HttpServlet 类
因为我们后面还要重写 HttpServlet 类中的方法,所以要继承这个类。
public class servlet extends HttpServlet{
}
重写service方法
因为我们要处理请求,所以要重写服务类来处理请求,否则处理不了请求。
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
设置访问路径
@WebServlet("/servlet01")
这行代码加在类前面,这样我们就可以通过 /servlet01 路径来访问。
内容
这里我们在控制台(idea下面)和网页(浏览器访问)里分别打印一句话 "Hello Servlet!"
System.out.println("Hello Servlet");
//通过流输出内容
resp.getWriter().write("Hello Servlet");
实例完整代码
package com.xxxx.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/servlet01")
public class servlet extends HttpServlet{
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// super.service(req, resp);
//打印内容在控制台
System.out.println("Hello Servlet");
//通过流输出内容
resp.getWriter().write("Hello Servlet");
}
}
运行
点击 idea 右上角运行图标
然后 idea 会打开 http://localhost:8080/servlet_war_exploded/
但是你看不到任何内容,因为你没有访问你刚才设置的路径。
访问 http://localhost:8080/servlet_war_exploded/servlet01
你会看到
这就成功了
servlet的生命周期
类加载->实例化->服务->销毁
类加载
类加载在服务器启动时就执行,一次一个生命周期只执行一次。
实例化
开始生命周期时,服务器判断有没有实例化,如果没有则实例化。
写一个函数 init(),在实例化时执行。
@Override
public void init() throws ServletException {
System.out.println("Servlet被创建");
}
当实例化是,会在控制台输出文字。
服务
当收到请求就开始服务,一个生命周期执行多次。
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Servlet被调用");
}
销毁
一个生命周期执行一次,在服务器停止时执行,也就是你停止运行程序时。
@Override
public void destroy() {
System.out.println("Servlet被销毁");
}
完整代码
package com.xxxx.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/servlet02")
public class servlet02 extends HttpServlet{
@Override
public void init() throws ServletException {
System.out.println("Servlet被创建");
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Servlet被调用");
}
@Override
public void destroy() {
System.out.println("Servlet被销毁");
}
}
到此这篇关于Java servlet后端开发超详细教程的文章就介绍到这了,更多相关Java servlet内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341