- 一,CDN方式使用element-ui
- --1,测试
- 二,Servlet
- --1,概述
- --2,入门案例
- 创建SpringBoot工程
- 配置maven
- 创建Servlet类
- 修改启动类
- 测试
- 三,Servlet的练习
- --1,创建HTML网页(在Hbuilder里)
- --2,创建Servlet程序(在IDEA里)
- --3,测试
- --4,调用流程
- 四,配件文件的形式配置Servlet的程序
- --1,创建Servlet的程序
- --2,修改web.xml配置文件
- 产生web.xml
- 修改
- --3,测试
- 五,Servlet细则
- --1,继承结构
- --2,生命周期
- --3,测试doPost/doGet
- 创建前端HTML网页
- 创建Servlet程序
- 六,解析请求参数
- --1,模拟Servlet解析请求参数
- --2,Request对象
二,Servlet –1,概述Button
通过java代码实现的一段服务器的功能. 1, 接受浏览器的请求 2, 给浏览器做出响应 使用步骤: 1, 导入servlet-api.jar包(被springboot工程简化了) 2, 创建Servlet程序 3, 打开浏览器,按照正确的方式来访问Servlet程序–2,入门案例 创建SpringBoot工程
File - New - porject - Spring initializer 并修改网址 - next - 修改域名和项目名称和jdk8 - next - Finish
配置maven 创建Servlet类必须先放在启动类同包里,选中src/main/java/启动类所在的包 – new – servlet/create new servlet - 设置Servlet的名字 -ok
package cn.tedu.cgb2110boot02;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/Servlet1")
public class Servlet1 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doPost...");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet...");
}
}
修改启动类
package cn.tedu.cgb2110boot02;
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
//2,Servlet程序想要别浏览器访问,@WebServlet规定了浏览器的访问方式(配置文件)
@WebServlet("/hello/Servlet1")
//1,Servlet程序的实现标准,就有三种方式:implements Servlet,extends GenericServlet
public class Servlet1 extends HttpServlet {
//3,doPost()用来处理那些 post的请求(method=post)
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doPost...");
}
//4,doGet()用来处理那些 get的请求
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet...");
}
}
测试
三,Servlet的练习
–1,创建HTML网页(在Hbuilder里)
–2,创建Servlet程序(在IDEA里)测试 前后端的交互 点我,访问Servlet程序
package cn.tedu.cgb2110boot02;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/user/addServlet")
public class Servlet2 extends HttpServlet {
//大多数的请求会以get方式来访问,Servlet会主动调用doGet()
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet已经被触发...");
}
}
–3,测试
http://localhost:8080/user/addServlet
package cn.tedu.cgb2110boot02;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class Servlet3 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doPost");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet");
}
}
–2,修改web.xml配置文件
产生web.xml
–3,测试 五,Servlet细则 –1,继承结构 –2,生命周期Servlet3 cn.tedu.cgb2110boot02.Servlet3 Servlet3 /hello
http://localhost:8080/Servlet4
package cn.tedu.cgb2110boot02;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
//@WebServlet //如果不写值,访问的规则就是类名 /Servlet4
@WebServlet("/a")//修改了浏览器的访问规则 /a
public class Servlet4 extends HttpServlet {
//Servlet的生命周期:三个阶段init() destroy() service()
//会执行多次,访问几次Servlet这个service()就会执行几次.
//用来接受请求,给浏览器做出响应
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取请求方式
String method = req.getMethod();
System.out.println("service()开始服务..."+method);
}
//只执行1次,而且是在Tomcat服务器正常关闭时执行的(Tomcat现在已经被springboot整合了,啥时候真正关闭我们控制不了)
public void destroy() {
System.out.println("destroy()开始销毁...");
}
//只执行1次,而且是在这个Servlet程序第一次被访问时执行的
public void init() throws ServletException {
System.out.println("init()开始初始化...");
}
}
–3,测试doPost/doGet
创建前端HTML网页
创建Servlet程序测试 前后端交互 点我,访问Servlet程序
package cn.tedu.cgb2110boot02;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/user/userServlet")
public class UserServlet extends HttpServlet {
//必须是表单 + 必须是method=post的表单,才会触发doPost()
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("表单数据已经正确提交~~~");
}
//除了post提交的方式,大部分情况会触发doGet()
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("超链接访问成功~~~");
}
}
六,解析请求参数
–1,模拟Servlet解析请求参数
package cn.tedu.cgb2110boot02;
//java程序里怎么解析用户提交的请求参数 jack 123 ????
public class Test1 {
public static void main(String[] args) {
String s = "http://localhost:8080/user/userServlet?user=jack&pwd=123";
// 1,按照?切割字符串,得到两个字符串,并存入数组中
//[http://localhost:8080/user/userServlet,user=jack&pwd=123]
String[] strs = s.split("\?");
// 2,重点解析数组中 第二部分的字符串
String data = strs[1];//user=jack&pwd=123
// 3,按照&切割字符串,又得到数组
String[] datas = data.split("&");//[user=jack,pwd=123]
// 4,遍历数组,获取每个数据 user=jack pwd=123
for (String str : datas) {
String[] s1 = str.split("=");//[user,jack]
// 5,按照=切割,又又得到数组[user,jack],只要第二个元素jack
String input = s1[1];
System.out.println(input);//jack 123
}
}
}
–2,Request对象


