Servlet,

Servlet是用于构建动态Web应用的技术,本文介绍了Servlet接口及其默认实现类,重点讲解了Tomcat服务器的使用,IDEA中开发Servlet的步骤,以及HTTP响应状态码。接着探讨了Response的重定向、ServletContext的数据共享,Request的乱码解决、参数接收和转发操作。还讨论了会话管理,包括Cookie和Session的使用以及会话的生命周期和注销方法。
摘要由CSDN通过智能技术生成

Servlet

Servlet介绍

servlet是用于开发动态web资源的技术;如果需要发一个动态web资源,需要编写一个java类,并实现servlet接口,并把开发好的java类部署到web服务器中。一般情况下,我们把实现了servlet接口的java程序称为Servlet。Servlet接口有两个默认的实现类,分别是GenericServlet和HTTPServlet。他们的关系可以在HTTPServlet和GenericServlet的源码中详细学习。

web服务器之一Tomcat

Tomcat作为Web服务器之一,具有性能优良,非常的小(它是符合Web服务器最小的服务器)的特点。下载tomcat:http://tomcat.apache.org/——找到download——下载完成后,解压到任意目录。

Tomcat目录结构:

  1. bin:春芳可执行文件、启动和关闭;
  2. conf:存放Tomcat的配置文件;
  3. lib:存放服务器需要的jar包;
  4. logs:日志文件;
  5. temp:临时文件;
  6. webapps:存放网站和web目录;
  7. work:Tomcat的工作目录;

使用IDEA搭建Web开发环境:

  1. 打开idea,并创建一个微博项目;

  2. 配置Tomcat服务器

    在Run/Debug Comfigurations中,找到Tomcat Server中的local;通过更改名字,修复警告,修改项目名称等来完成搭建。

本章节常见的HTTP :超文本传输协议响应

302:表示重定向;

404:表示请求的文件不存在,路径写错等问题;

500:服务器代码写错了,可能文件中的java代码有误。

使用IDEA开发Servlet

idea开发Servlet需要准备并且导入Servlet需要的jar包。可以通过以下操作进行自动下载jar包:

在IDEA中新建一个web项目,并新建一个package,在其中新建一个Servlet文件。此idea会自动生成一个实现了HttpServlet并重写了doGet和doPost方法的java文件,但文件的Servlet字样都是报红出错的。需要我们利用idea的只能纠错功能,就可以非常快捷的导入jar包。也可以手动将jar包导入项目的lib文件夹中。最终程序中的Servlet字样不报红,lib目录下有jar包,就是导入成功。

response

重定向

简单来说,就是将一个请求,转换到另一个地址。java中,语法如下:

response.sendRedirect("success.jsp");//重定向到成功页面

通过servletContext对象实现数据共享

  1. 新建一个properties文件:

    driver=com.mysql.jdbc.Driver
    username=root
    password=123456
    url=jdbc:mysql://localhost:3306/smbms
    
  2. 编写Servlet类:

    package com.kuang.servlet;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.Properties;
    
    //读取properties配置文件
    public class ServletDemo03 extends HttpServlet {
         
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         
            doPost(req,resp);
        }
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         
            //读取配置文件
            //1.获得配置文件的路径
            String realPath = this.getServletContext().getRealPath("/WEB-INF/classes/resources/database.properties");
            System.out.println("取得的路径为:"+realPath);
            Properties properties = new Properties();
            FileInputStream is = new FileInputStream(realPath);
            properties.load(is);//把文件流加载到配置文件的对象中;
            String driver = properties.getProperty("driver");
            String username = properties.getProperty("username");
            String password = properties.getProperty("password")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值