设为首页 加入收藏

TOP

Java速成Web开发(一)(一)
2023-07-25 21:38:11 】 浏览:69
Tags:Java 速成 Web 开发

JavaWeb

1 Servlet

1. 什么是servlet

  • 一种衔接前后端的技术,本质是一种流,底层是由网络编程编写

  • service业务逻辑

  • 从狭义上讲,servlet就是一个名字叫做servlet的接口

  • 从广义上讲,servlet就是我们自己写的一个实现servlet接口的java类,这个类的最大特点就是它能接受请求,同时可以返回响应

2 servlet类的方法

1. service()

用来接收请求,返回响应

2. 构造方法

创建一个servlet对象

3. init()

对servlet对象进行初始化

4. destroy()

销毁该servlet对象

3 核心配置文件

  • java web的项目中,我们需要配置web.xml的核心配置文件
<servlet>标签表示servlet,它包含了子标签
    <servlet-name>	----表示servlet的名字
    <servlet-class>	----表示servlet类的全类名
        
<servlet-mapping>标签表示和<servlet>对应的映射关系,包含子标签
    <servlet-name>	----表示servlet的名字
    <url-pattern>	----表示请求名,对应的请求到来,就会触发servlet类执行

4 url格式

http://ip地址:端口/web应用的名字/请求名
  • 其中http://ip地址:端口称为web站点的根目录
  • web站点的根目录/web应用的名字称为web应用的根目录
  • 所有请求都基于http协议
  • 现在流行https协议,更加安全

5 <load-on-startup>

  • 配置在 中,表示当前的servlet被创建和初始化的时机
  • 如果取值为非负整数,则表示随Tomcat启动进行创建和初始化
  • 注意:
    • 如果取值为负数,则等于没有配多个servlet,按照取值从小到大的顺序自动创建和加载
    • 在web.xml中,一个 可以对应多个

6 <url-pattern>通配符

  • /*

    <url-pattern>/*</url-pattern>
    
  • /

    <url-pattern>/</url-pattern>
    
  • *.后缀名

    <url-parttern>*.do</url-parttern>
    

7 ServletConfig

  • 一个servlet的大管家类,可以获取当前servlet方方面面的信息,由tomcat创建并传入init方法中,我们可以在web.xml的 中定义 表示当前servlet的初始化参数
  • 表示参数名
  • 表示参数值

1. 常用方法

  • getInitParameter(参数名)-------获取对应的参数值
  • getServletName()------获取当前servlet的名字

2. ServletContext

  • 当前Web应用的大管家,可以获取当前Web应用的方方面面的信息
  • 我们可以用ServletConfig对象的getServletContext()方法获取对象
1. 常用方法
  • getInitParameter(参数名)-------获取对应的参数值
  • getRealPath(项目结构路径)------获得该文件部署后的绝对路径
  • getContextPath()-------获取web应用的根目录,其中的/表示web站点的根目录

8 发送请求的方式

9 参数传递

1. get 请求

  • url地址中石油问号分隔web应用和参数
  • 参数格式:参数名1=参数值1&参数名2=参数值2
  • 如果是表单提交,则表单控件的name对应参数民,value对应参数值
  • 注意:get请求有长度限制,不超过1k

2. post 请求

10 接收参数

  • 在servlet的services方法中,使用ServletRequest对象调用getParameter(参数名)可以得到参数值

11 返回响应

  • 通过ServletResponse对象调用getWriter()方法获取PrintWriter打印流对象,然后由该打印流对象调用print()完成打印

  • 练习:在web.xml中配置两个web应用的初始化参数

    • username:admin
    • password:123456
    • 画一个登陆页面,请用户登录
    • 校验账号密码是否正确
    • 在结果页面上响应
      • hello:xxx
      • sorry:xxx
      • 注意:xxx为用户输入的用户名
public class login implements Servlet {

    ServletContext sc;
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        sc=servletConfig.getServletContext();
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        String username=sc.getInitParameter("username");
        String password=sc.getInitParameter("password");
        String usernameParam=servletRequest.getParameter("username");
        String passwordParam=servletRequest.getParameter("password");
        PrintWriter pw=servletResponse.getWriter();
        if(usernameParam.equals(username)&&passwordParam.equals(password))
            pw.print("hello,"+usernameParam);
        else pw.print("sorry,"+usernameParam);
    }

    @O
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java速成Web开发(二) 下一篇读Java性能权威指南(第2版)笔记..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目