JavaEE-servlet

JavaEE

1.创建JavaEE程序

java 复制代码
package com.ffyc.dormServer.web;
​
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
​
​
/*
只被调用一次,始终都创建了一个对象,在第一次访问servlet程序被执行
 */
public class DemoServlet extends HttpServlet {
​
    public DemoServlet() {
        System.out.println("无参的构造方法");
    }
​
​
    /*init   初始化在构造方法被执行完,立即执行,完成一些servlet程序的初始化
    只调用一次
    */
    @Override
    public void init(ServletConfig config) throws ServletException {
        System.out.println("init");
    }
​
​
    /*service  用来接受前端请求,为前端提供服务
    每次前端发送的请求,都会调用service(); 多次调用
    HttpServletRequest req 表示请求对象,前端提交所有的数据,都有服务器封装在此对象中
    HttpServletResponse resp  表示响应对象,向前端响应数据
     */
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("service");
    }
​
​
​
    /*
    destroy()  当关闭服务器时,destroy()方法被调用
    */
    @Override
    public void destroy() {
        System.out.println("destroy");
    }
​
​
}
复制代码
java 复制代码
​
​
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
​
    <!--
    配置Servlet程序
    -->
    <servlet>
        <servlet-name>demo</servlet-name>
        <servlet-class>com.ffyc.dormServer.web.DemoServlet</servlet-class>
    </servlet>
    
    <!--
    为Servlet程序配置一个访问地址
    -->
    <servlet-mapping>
        <servlet-name>demo</servlet-name><!--为指定name的Servlet程序配置访问地址-->
        <url-pattern>/demo</url-pattern><!--配置的供外界访问的地址-->
    </servlet-mapping>
</web-app>

​

​

.xml文件 ml结尾的,也是一种标记语言,设计的目的是用来在项目中存储配置信息,制定好可以使用哪些标签即可

web.xml文件 存储web后端项目配置信息,在服务器启动时,由服务器加载读取的

配置servlet程序 把我们开发的servlet程序注册到服务器,由服务启动时加载,在第一次访问时,由服务器创建对象

2.Servlet对象生命周期

1).创建

第一次访问Servlet程序时,由服务器创建Servlet

2).初始化

init方法:只被调用一次,在Servlet实例创建好实例后立即执行, 用于执行一些初始化Servlet的操作

3).服务

service方法:多次调用,每次请求都调用service方法。

4).销毁

destroy方法:只被调用一次,在服务器关闭时调用,执行一些操作

doGet,doPost

GET方式:

● 超链接访问,默认是GET方式 ● form提交,不指定method,默认为GET方式

● POST方式: ● form提交,指定method="POST"

• Get方式与post方式的区别

● Get方式主要是从服务器获取信息;post主要是想服务器提交信息

● Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据 放置在请求体中提交。

● GET方式提交的数据大小受限制一般1kb(不同浏览器也会有不同);而 POST则没有此限制

java 复制代码
package com.ffyc.dormServer.web;
​
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
​
public class LoginServlet extends HttpServlet {
​
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doget");
        String name=req.getParameter("name");
        String age=req.getParameter("age");
        System.out.println(name);
        System.out.println(age);
    }
​
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置解码的编码格式
        req.setCharacterEncoding("utf-8");
​
        System.out.println("dopost");
        String account= req.getParameter("account");
        String password=req.getParameter("password");
        System.out.println(account);
        System.out.println(password);
    }
}
复制代码

从前端向后端发送请求,都是http请求 http请求只能发送,超文本内容 一次http请求中包含请求行,请求头,请求体三部分

请求行:请求方式,请求的资源地址等等

清求头:包含客户端的一些环境信息,这些信息都是由浏览器自动发送的,以键值形式传递

请求体:以表单post方式向后端发送的请求数据,在请求体中包含

get请求: get请求主要是从后端获取信息的,例如网页上的超连接,向后端传递少量信息,获得大量信息。 清求数据在请求地址中直接拼接,所以传输的数据量有限的,并且敏感数据不安全

post请求: post请求主要用于向后端发送大量数据 请求数据在请求体中,可以传输大量数据,不会在地址中显示,所以相对安全

html 复制代码
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <a href="http://127.0.0.1:8088/dormServer/login?name=张三&age=20">登录</a>
        
        <form action="http://127.0.0.1:8088/dormServer/login" method="post">
            账号:<input type="text" name="account" value=""/><br />
            密码:<input type="password" name="password" value=""><br />
            <input type="submit" value="登录"/>
            
        </form>
    </body>
</html>
复制代码
相关推荐
七星静香12 分钟前
laravel chunkById 分块查询 使用时的问题
java·前端·laravel
Jacob程序员13 分钟前
java导出word文件(手绘)
java·开发语言·word
ZHOUPUYU13 分钟前
IntelliJ IDEA超详细下载安装教程(附安装包)
java·ide·intellij-idea
stewie617 分钟前
在IDEA中使用Git
java·git
Elaine20239132 分钟前
06 网络编程基础
java·网络
G丶AEOM33 分钟前
分布式——BASE理论
java·分布式·八股
落落鱼201334 分钟前
tp接口 入口文件 500 错误原因
java·开发语言
想要打 Acm 的小周同学呀35 分钟前
LRU缓存算法
java·算法·缓存
镰刀出海38 分钟前
Recyclerview缓存原理
java·开发语言·缓存·recyclerview·android面试
阿伟*rui3 小时前
配置管理,雪崩问题分析,sentinel的使用
java·spring boot·sentinel