JavaWeb—Servlet

本文详细介绍了JavaWeb中的Servlet,包括静态资源和动态资源的区别,Servlet的配置方式,如web.xml文件配置和注解配置。接着讨论了Servlet的生命周期,包括init(), service()和destroy()方法,以及单例多线程特性。同时讲解了Servlet的域对象,如PageContext、HttpServletRequest、HttpSession和ServletContext。此外,还提到了获取请求参数的方法以及请求转发和重定向的实现。最后,简单提及了防盗链的概念。" 124195595,11013329,Vue项目中HTML登录页的多语言实现,"['前端开发', 'Vue', 'HTML', '国际化']
摘要由CSDN通过智能技术生成

JavaWeb—Servlet

静态资源和动态资源

服务器上有两种资源:

静态资源:用户每次访问结果都是一样的资源叫做静态资源 (html、Css、JavaScript)

动态资源:用户每次访问结构都是不一样的资源(jsp、PHP)

每次服务器再给浏览器响应的时候:动态资源必须要先转换成静态资源才可以发送

先说一下Servlet配置:

1.可以通过web—WEB-INF----web.xml文件中配置

要配置:

<servlet>
	<servlet-name>类名称</servlet-name>
	<servlet-class>包名+类名</servlet-class>
</servlet>
<servlet-maping>
	<servlet-name>
        类名称
    </servlet-name>
    <url-pattern>
        资源路径
    </url-pattern>
</servlet-maping>

servlet访问:localhost:8080/资源路径

通过资源路径访问到servlet-name—>进而访问到 servlet的servlet-name—>进而访问到类的全名称,找到类

创建servlet —> 创建 request/response —>通过request 的到请求数据 —>通过response响应

还有一种配置方法:

在servlet3.0之后支持注解方式配置:

@WebServlet("/xxx") 配置单个路径

@WebServlet("/xxx/xxx")(多层结构目录结构)

@Webservlet("/xxx/*") *代表通配符 可以访问任意资源路径

@WebServlet("*.do") 统配符

1.serlet声明周期:

​ init()------->Servlet初始化方法(仅在servlet第一次访问的时候调用一次)

​ service()------->Servlet服务方法(每次调用Servlet方法的时候都会被调用)

​ destory()------->Servlet销毁方法(服务器关闭的时候调用一次)

​ service和doXXX()方法?

​ service()方法 是servlet的入口 doXXX()方法是更具不同的提交方式来 判断调用那种方法

​ 一般在具体业务中要覆盖doXXX()方法。

2.单例多线程

//由于一个Servlet程序只会创建一个Servlet程序,所以是单例的,可以根据这个特短获取servlet的访问人数

@WebServlet("/count")
public class countServlet extends HttpServlet {
   
    int count=1;
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   

        response.setContentType("text/html;charset=utf-8");
       synchronized (this){
   
           response.getWriter().print("当前访问人数是"+count);
           count++;
           try {
   
               Thread.sleep(5000);
           } catch (InterruptedException e) {
   
               e.printStackTra
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值