JavaWeb-Servlet入门

Servlet: 运行在服务器上的小程序。
Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则,我们也可以自定义来实现这个接口。

整个JavaWeb的核心体系都是围绕着Servlet来转的。

使用Servlet

首先新建Tomcat的项目,
然后创建ServletDemo01继承Servlet接口

public class ServletDemo01 implements Servlet {
/***
     * 初始化方法
     * 在Servlet被创建时,只会执行一次
     * @param servletConfig
     * @throws ServletException
     */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("init.....");
    }

    /**
     * 获取Servlet的一些信息,版本,作者等等... (一般不会用)
     * @return
     */
    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    /**
     * 提供服务的方法
     * 每一次Servlet被访问时,执行
     * @param servletRequest
     * @param servletResponse
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("service.....");
    }

    /**
     * 获取ServletConfig对象
     * ServletConfig: Servlet的配置对象
     * @return
     */
    @Override
    public String getServletInfo() {
        return null;
    }

    /**
     * 销毁方法
     * 在Servlet被杀死时执行 (服务器正常关闭时执行),只执行一次
     */
    @Override
    public void destroy() {
        System.out.println("destroy.....");
    }
}

在web.xml中添加配置

<!--配置Servlet-->
<servlet>
    <servlet-name>demo1</servlet-name>
    <servlet-class>com.heiko.ServletDemo01</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>demo1</servlet-name>
    <url-pattern>/demo1_path</url-pattern>
</servlet-mapping>

点击运行
浏览器url中增加url-pattern
比如http://localhost:8080/MyTomcatTest_war_exploded2/demo1_path,回车
可以看到logcat中打印了日志

init.....
service.....

Servlet的生命周期

1.被创建:执行init方法,只执行一次
* 指定Servlet的创建时机
1.第一次被访问时,的值为负数
2.在服务器启动时,的值为0或正整数
* Servlet的init方法,只执行一次,说明一个servlet在内存中只存在一个对象,servlet是单例的
多个用户同时访问时,可能存在线程安全问题。
解决:尽量不要在Servlet中定义成员变量。即使定义了成员变量,也不要修改值
2.提供服务:执行service方法,可以执行多次(刷新)
3.被销毁:执行destroy方法,只执行一次

Sevlet执行原理

  1. 当服务器接收到客户端浏览器的请求后,会解析请求URL路径,获取访问对应的Servlet类
  2. tomcat会将字节码文件加载进内存,并且创建其对象
  3. 调用其方法

Servlet3.0

Servlet3.0支持用注解的方式,可以不用xml配置。在这里插入图片描述
新建类,添加注解

@WebServlet("/demo2")
public class ServletDemo implements Servlet {
    //...省略
    
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("service!!!!");
    }
}

访问页面

http://localhost:8080/MyServletTest_war_exploded/demo2

看到打印日志

service!!!!

Servlet体系结构

  • servlet - 接口
    • GenericServlet - 抽象类 : 只需实现service方法
      • HttpServlet - 抽象类 : 对HTTP协议的封装和描述 doGet()、doPost() 等
@WebServlet("/demo3_path")
public class ServletDemo03 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //super.doGet(req, resp);
        System.out.println("doGet...");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //super.doPost(req, resp);
        System.out.println("doPost...");
    }
}

Servlet相关配置

  • @WebServlet: 设置访问路径
    • 一个Servlet可以定义多个路径: @WebServlet({"/S1","/SS2","/SSS3"})
    • 路径定义规则
      • /xxx : 普通方式
      • /xxx/xxx : 多层路径,目录结构
      • *.do : 比如 http://localhost/demo4.do

其他

文中代码 详见 https://github.com/EthanCo/JavaWebTest

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 《JavaWeb程序开发入门》是由传智播客出版的一本介绍JavaWeb开发的教程,主要面向初学者。这本教程详细介绍了JavaWeb开发的基本概念、常用技术和实践方法。 首先,这本教程提供了JavaWeb开发的基础知识。它介绍了JavaWeb开发的基本原理,如Servlet、JSP等技术的概念和使用方法。它还讲解了JavaWeb开发中的MVC架构模式,帮助读者理解Web应用程序的组织和开发方式。 第二,教程介绍了JavaWeb开发中常用的技术和工具。例如,它讲解了如何使用JavaWeb开发中常用的框架,如Struts、Spring和Hibernate。同时,它还介绍了JavaWeb开发中的数据库设计和访问技术,如MySQL和JDBC等。 第三,教程提供了大量的实例和案例。通过这些实例,读者可以学习如何搭建一个完整的JavaWeb应用程序,包括前端页面的设计和开发,后端业务逻辑的实现以及数据库的设计和使用。 总的来说,《JavaWeb程序开发入门》是一本适合初学者学习JavaWeb开发的教材。它清晰地介绍了JavaWeb开发的基本原理和常用技术,通过实例的演示,帮助读者掌握JavaWeb开发的基本技能。这本教程简洁明了,容易理解,是学习JavaWeb开发的好选择。 ### 回答2: javaweb程序开发入门指的是学习使用Java语言开发Web应用程序的基础知识和技能。而传智播客是一个培训机构,有提供相关的教材,其中也包括了javaweb开发的PDF版本文档。 对于想要学习javaweb开发的人来说,传智播客的PDF文档是一种非常便利的学习资源。这些文档涵盖了javaweb开发的各个方面,包括基础的Java编程语法、常用的开发工具和框架、数据库的使用和设计以及常用的服务器配置等内容。它们提供了一个系统的学习路径,帮助学习者逐步了解和掌握javaweb开发的基本知识和技巧。 通过传智播客的PDF文档,学习者可以按照自己的进度和需求,有针对性地学习相关知识。这些文档也可以很好地配合传智播客的课程使用,帮助学员更好地理解和应用所学知识。 总的来说,传智播客的javaweb开发入门PDF文档是一种非常有用的学习资源,可以帮助初学者系统地学习javaweb开发,并为他们打下坚实的基础。 ### 回答3: 传智播客的Javaweb程序开发入门PDF是一本很受欢迎的教材,对于想要学习Javaweb开发的初学者来说,是一本很好的资源。这本PDF全面介绍了Javaweb的基础知识、开发环境搭建、Servlet、JSP、数据库操作等内容,几乎涵盖了Javaweb开发的方方面面。 在这本PDF中,你将学习到如何搭建Javaweb开发环境,包括下载和安装Java JDK、Eclipse IDE、Tomcat服务器等。之后,你将学习到Servlet的基本概念和使用方法,如何处理HTTP请求和响应,如何使用Servlet来编写后台逻辑代码等。接下来,你将学习到JSP的基础知识,包括JSP的语法、常用标签和表达式的使用方式等。在学习这些基础知识之后,你将学习到如何使用JDBC进行数据库操作,包括连接数据库、执行SQL语句、处理结果集等。 通过阅读这本PDF,你将对Javaweb程序开发的整个流程和步骤有一个全面的了解,并能够独立地开发简单的Javaweb应用程序。当然,这只是入门级别的学习资源,如果你希望进一步深入学习Javaweb开发,还需要进一步学习其他相关的知识,如框架的使用、前端开发等等。 总的来说,传智播客的Javaweb程序开发入门PDF是一本很好的学习资源,对于初学者来说是入门的重要材料。希望通过学习这本PDF,你能够对Javaweb开发有一个良好的基础认识,并能够进一步深入学习和实践。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

氦客

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值