Java-Web核心重点剖析

Servlet

JSP本质是Servlet。Sun公司主推的BS架构,Servlet就是一个java接口。

  • 写类实现Servlet接口。
  • 部署到Web服务器(tomcat之类)。

注解形式:@WebServlet("/名字")

匹配形式:


  
    hello
    com.leo.servlet.HelloServlet
  
  
  
    hello
    /hello
  

约定大于配置

Maven的目录结构。默认有resources文件夹,存放资源配置文件。src-main-resources,src-main-java。默认的编译生成的类都在targe文件夹下面。
spring boot默认的配置文件必须是application.命名的yml文件或者properties文件,且唯一application.yml中默认属性。
数据库连接信息必须是以spring: datasource: 为前缀;多环境配置。该属性可以根据运行环境自动读取不同的配置文件;端口号、请求路径等。

Context-中间商为每个web程

this.getServletContext-拿到对象

Web容器启动为程序创建一个对应点ServlecContext对象,代表当前Web应用。

  1. 数据共享:不同servlet中共享同一个对象就可以互相使用数据。不用传统io。
  2. 请求转发:(转发vs重定向 一个在服务器一个在页面。转发地址栏不变,数据不丢)
  3. 读取配置文件:构建流Properties(Java.util.Properties),读取Java的配置文件。Properties类的load方法。

HttpServletRequest-获取客户端参数

HttpServletResponse-给客户端信息

  • 下载文件
/**
 * @author Lenovo
 */
@WebServlet("/down")
public class FileServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1,要获取下载文件路径
        String realPath = "C:\\Users\\Lenovo\\Pictures\\map.jpg";
        //2,文件名称
        String fileName = realPath.substring(realPath.lastIndexOf("\\") + 1);
        //3, 浏览器支持
        resp.setHeader("Content-Disposition","attachment;filename="+fileName);
        //4, 流操作:获取流-缓冲区
        FileInputStream input = new FileInputStream(realPath);
        int len = 0;
        byte[] buffer = new byte[1024];
        //5, 拿到outputStream对象-写入Buffer
        ServletOutputStream output = resp.getOutputStream();
        while ((len=input.read(buffer))>0){
            output.write(buffer,0,len);
        };
        input.close();
        output.close();
    }
}
  • 验证码和重定向什么的
resp.sendRedirect("/longin.jsp");

JSP-JavaServePages

4个JSP内置对象的作用域分别为:application、session、request、page 。JSP内置对象作用域表如下:

名称

作用域

application

在所有应用程序中有效,打开服务器到关闭服务器

session

在当前会话中有效,打开关闭浏览器

request

在当前请求中有效,请求转发会携带这个数据

page

在当前页面有效。关闭页面就木有了。

MVC三层架构

Filter:过滤一些垃圾请求啥的。实现一个过滤器接口就ok。implements Filter(javax servlet)

注解配置
@WebFilter(filterName = "XXX",urlPatterns = {"/XXX"})
--------------------------------------------------------
web.xml配置

     filter01
     com.edu.dcx.filters.FilterTest01


     filter01
      
     /*

JDBC固定6部

  1. 加载驱动------Class.forName("com.mysql.cj.jdbc.Driver")
  2. 连接数据库---Connection conn = DriverManager.getConnection(url,username,password)
  3. 向数据库发送SQL对象Statement:CRUD;PrepareStatement
  4. 编写SQL。---看情况
  5. 执行SQL。---看情况
  6. 关闭连接。

你可能感兴趣的:(学习历程)