java servlet 学习笔记 day 2

java servlet 学习笔记 day 2,第1张

文章目录
  • 一、servlet的继承结构
  • 二、servlet的特点
    • 1.高效
    • 2.方便
    • 3.可移植性好
    • 4.功能强大
    • 5.灵活性和拓展性
  • 三、实例 *** 作判断长度为5的字符串
  • 四、Web下的相对路径和绝对路径
    • web 当中斜杆的作用


一、servlet的继承结构

二、servlet的特点 1.高效

在服务器上只有一个java虚拟机在运行,当servlet被客户端发送的第一个请求激活时,将在后台持续运行,等待以后的需求,每一个请求将生成一个线程而不是进程。

2.方便

Servlet提供大量的实用工具例程,可以处理难以完成的HTML表单数据,读取和设置Http头信息,处理cookie,以及跟踪回话等 *** 作

3.可移植性好

Servlet是由java编写的,java的跨平台开发不用质疑

4.功能强大

目前还没感觉出来,主要是还没学会

5.灵活性和拓展性

Servlet为一个java类,有java类的继承性,构造函数等特点

三、实例 *** 作判断长度为5的字符串

servlet-- StringCheck类全面代码

package com.example.web5;

import java.awt.print.PrinterAbortException;
import java.io.*;
import javax.servlet.DispatcherType;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import javax.servlet.annotation.*;

@WebServlet("/string-check") //该servlet类的“门”
public class StringCheck extends HttpServlet {
    private String message;
    public void init() {

    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        request.setCharacterEncoding("UTF-8"); //防止中文编码为乱码
        String mystring = request.getParameter("mystring");
            if(mystring.length()==5)
            {
                RequestDispatcher requestDispatcher = request.getRequestDispatcher("/index.jsp");
                //得到index.jsp的相对路径
                request.setAttribute("key1","字符串格式正确");
                //用map映射将字符串和"key1"连接起来
                requestDispatcher.forward(request,response);
                //返回request请求
                //out.println(type);
            }
            else if(mystring.length()>5)
            {
                RequestDispatcher requestDispatcher = request.getRequestDispatcher("/index.jsp");
                request.setAttribute("key1","字符串太长了");
                requestDispatcher.forward(request,response);
            }
            else if(mystring.length()==0)
            {
                RequestDispatcher requestDispatcher = request.getRequestDispatcher("/index.jsp");
                request.setAttribute("key1","字符串为空哦");
                requestDispatcher.forward(request,response);
            }else
            {
                RequestDispatcher requestDispatcher = request.getRequestDispatcher("/index.jsp");
                request.setAttribute("key1","字符串太短了");
                requestDispatcher.forward(request,response);
            }


    }

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

    public void destroy() {
    }
}

首页调用

<p><%=request.getAttribute("key1")%>p> 

似乎感觉没什么用
但怎么说还是有一点封装的感觉,确实,首页嵌套java代码的话,几行就写完了 ,但是这样写,首页明显更整洁一些,以后也不能什么东西都往首页塞吧。


四、Web下的相对路径和绝对路径

相对路径
. 当前路径
.. 上一级路径

绝对路径
http://ip:端口/工程项目名/资源名

web 当中斜杆的作用

浏览器当中被解析得到的是 http://ip:port/

<a href="/" > "/" 斜杠的跳转链接a>

服务器当中被解析 得到http://ip:port/工程项目

out.println("<h1>" + request.getServletContext().getRealPath("/") + "h1>");
 //显示 “/”的真实物理路径 , 这里“/" 就是 http://ip:port/工程项目,
所以代码全意为显示 “http://ip:port/工程项目” 的真实物理路径

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/719910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存