Java Servlet

什么是Servlet?

       Servlet 是JavaWeb开发的基石,与平台无关的服务器组件,它是运行在Servlet容器/web应用服务器(Tomcat)上的,负责与客户端进行通信

      Servlet运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库之间的中间层

Servlet的功能:

  •       创建并返回基于客户请求的HTML页面
  •      与数据库进行通信

如何访问Servlet?

   Servlet本身是一组接口,要想使用Servlet我们需要自定义一个类,并且实现Servlet接口,这个类就具备了接受客户端请求以及做出响应的功能

MyServlet.java是我自己定义的一个文件

然后实现Servlet接口:

// 导入必需的 java 库
import java.io.*;
import javax.servlet.*;

public class MyServlet implements Servlet{
    @Override
    public void init(ServletConfig servletConfig) throws ServletExction{

    }
    
    @Override
    public ServletConfig getServletConfig(){
        retur null;
    }
    
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse){
        
    }

    @Override
    public String getServletInfo(){

    }
    @Override
    public void destroy(){

    }

}

其中Servlet是最核心的方法

那么如何访问这个servlet呢?

当我们通过Tomcat打包之后,会注意到我们IDEA左侧出现了一个文件:mytomcat001_war_exploded

mytomcat001_war_exploded相当于默认的根目录,是打包之后生成的文件,默认下会访问index.jsp

由于Servlet文件是不能直接通过客服端浏览器访问的,其实也可以说客户端不能直接访问WEB-INF中的文件

所以要想访问Servlet文件,只能通过映射的方式来简介的访问Servlet,映射需要开发者手动配置,有两种配置方式

第一种:基于XML文件的配置方式

<servlet>
    <servlet-name>MyServlet</servlet-name>
    <servlet-class>com.southwind.sevlet.Myservlet</servlet-class> 
</servlet>

<servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/myservlet</url-pattern>
</servlet-mapping>

通过name相同可以达到映射匹配的联系。由于name相同,所以通过/myservlet  就可以访问到上面的文件路径

只要两个name一致即可!

做个例子:

我在MyServlet 的 service()方法中加入内容:

// 导入必需的 java 库
import java.io.*;
import javax.servlet.*;

public class MyServlet implements Servlet{
    @Override
    public void init(ServletConfig servletConfig) throws ServletExction{

    }
    
    @Override
    public ServletConfig getServletConfig(){
        retur null;
    }
    
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse){
        string id=servletRequest.getParameter("id");
        System.out.println("我是Servlet,我已经接收到了客户端发来的请求,参数是"+id);
        servletResponse.setContentTyep("text/html;charset=UTF-8");//显示的文本格式
        servletResponse.getWriter().write("客户端你好,我已经接受到你的请求");
    }

    @Override
    public String getServletInfo(){

    }
    @Override
    public void destroy(){

    }

}

然后我在浏览器中输入: locallhost:8080/myservlet?id=1

第二种方式:基于注解的方式

我们可以把XML中的内容全部删掉

在Servlet的上面直接写入:@WebServlet()

@WebServlet("/myservlet")
public class HelloServlet implements Servlet{}

现在普遍都使用注解的方式

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值