当前位置: 首页 > wzjs >正文

做相册什么网站好郑州seo优化顾问阿亮

做相册什么网站好,郑州seo优化顾问阿亮,wordpress建站 评测,网页版传奇手游排行榜JavaWeb 基础知识 一、JavaWeb 概述 1. 什么是 JavaWeb 使用 Java 技术解决 Web 领域相关问题的技术总和基于请求/响应模型的应用程序开发 2. 核心组件 Servlet:处理请求和响应的 Java 类JSP:Java Server Pages,动态页面技术Filter&…

JavaWeb 基础知识

一、JavaWeb 概述

1. 什么是 JavaWeb

  • 使用 Java 技术解决 Web 领域相关问题的技术总和
  • 基于请求/响应模型的应用程序开发

2. 核心组件

  • Servlet:处理请求和响应的 Java 类
  • JSP:Java Server Pages,动态页面技术
  • Filter:过滤器,预处理请求和后处理响应
  • Listener:监听器,监听 Web 应用中的事件

二、Servlet 技术

1. Servlet 基础

  • 生命周期
    • init():初始化,只执行一次
    • service():处理请求(内部调用 doGet/doPost)
    • destroy():销毁,只执行一次
  • 常用类
    • HttpServlet:抽象基类
    • HttpServletRequest:请求对象
    • HttpServletResponse:响应对象

2. Servlet 配置

  • web.xml 配置

    <servlet><servlet-name>DemoServlet</servlet-name><servlet-class>com.example.DemoServlet</servlet-class>
    </servlet>
    <servlet-mapping><servlet-name>DemoServlet</servlet-name><url-pattern>/demo</url-pattern>
    </servlet-mapping>
    
  • 注解配置(Servlet 3.0+):

    @WebServlet("/demo")
    public class DemoServlet extends HttpServlet {...}
    

3. 请求与响应

  • 获取请求参数

    String username = request.getParameter("username");
    String[] hobbies = request.getParameterValues("hobby");
    
  • 设置响应

    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    out.println("<html><body>Hello World</body></html>");
    

三、JSP 技术

1. JSP 基础

  • JSP 本质:最终会被编译为 Servlet
  • JSP 组成
    • HTML 代码
    • Java 代码(脚本、表达式、声明)
    • JSP 指令和动作

2. JSP 脚本元素

  • 脚本片段<% Java代码 %>
  • 表达式<%= 表达式 %>(输出表达式结果)
  • 声明<%! 变量或方法声明 %>

3. JSP 指令

  • page 指令

    <%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8" import="java.util.*" %>
    
  • include 指令(静态包含):

    <%@ include file="header.jsp" %>
    
  • taglib 指令(引入标签库):

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    

4. JSP 内置对象

对象名类型说明
requestHttpServletRequest请求对象
responseHttpServletResponse响应对象
sessionHttpSession会话对象
applicationServletContext应用上下文
outJspWriter输出流
pageContextPageContext页面上下文
pageObject当前页面实例
configServletConfigServlet 配置
exceptionThrowable异常对象(仅错误页可用)

四、会话跟踪技术

1. Cookie

  • 创建 Cookie

    Cookie cookie = new Cookie("name", "value");
    cookie.setMaxAge(60*60*24); // 有效期1天
    response.addCookie(cookie);
    
  • 读取 Cookie

    Cookie[] cookies = request.getCookies();
    for (Cookie c : cookies) {if ("name".equals(c.getName())) {String value = c.getValue();}
    }
    

2. Session

  • 获取 Session

    HttpSession session = request.getSession(); // 获取或创建
    HttpSession session = request.getSession(false); // 只获取不创建
    
  • Session 操作

    session.setAttribute("user", userObj); // 设置属性
    User user = (User)session.getAttribute("user"); // 获取属性
    session.removeAttribute("user"); // 移除属性
    session.invalidate(); // 销毁Session
    

五、Filter 过滤器

1. Filter 基础

  • 作用:在请求到达 Servlet 前或响应返回客户端前进行预处理/后处理
  • 生命周期
    • init():初始化
    • doFilter():过滤处理
    • destroy():销毁

2. Filter 配置

  • web.xml 配置

    <filter><filter-name>EncodingFilter</filter-name><filter-class>com.example.EncodingFilter</filter-class>
    </filter>
    <filter-mapping><filter-name>EncodingFilter</filter-name><url-pattern>/*</url-pattern>
    </filter-mapping>
    
  • 注解配置

    @WebFilter("/*")
    public class EncodingFilter implements Filter {...}
    

3. 常见应用场景

  • 字符编码过滤
  • 权限验证
  • 日志记录
  • 数据压缩

六、Listener 监听器

1. 监听器类型

  • ServletContext 监听器
    • ServletContextListener:应用启动/销毁
    • ServletContextAttributeListener:属性变化
  • Session 监听器
    • HttpSessionListener:Session创建/销毁
    • HttpSessionAttributeListener:Session属性变化
    • HttpSessionBindingListener:对象绑定到Session
  • Request 监听器
    • ServletRequestListener:请求创建/销毁
    • ServletRequestAttributeListener:请求属性变化

2. 监听器配置

  • web.xml 配置

    <listener><listener-class>com.example.MyListener</listener-class>
    </listener>
    
  • 注解配置

    @WebListener
    public class MyListener implements ServletContextListener {...}
    

七、JSTL 与 EL 表达式

1. EL 表达式(Expression Language)

  • 语法${expression}

  • 作用:简化 JSP 页面中的 Java 代码

  • 示例

    ${user.name} <!-- 相当于 <%= ((User)request.getAttribute("user")).getName() %> -->
    ${param.username} <!-- 获取请求参数 -->
    ${sessionScope.cart} <!-- 获取session中的属性 -->
    

2. JSTL(JSP Standard Tag Library)

  • 核心标签库(prefix=“c”):

    <c:set var="name" value="value" scope="session"/> <!-- 设置变量 -->
    <c:out value="${name}"/> <!-- 输出 -->
    <c:if test="${age > 18}">成年</c:if> <!-- 条件判断 -->
    <c:forEach items="${list}" var="item" varStatus="status"> <!-- 循环 -->${status.index}: ${item}
    </c:forEach>
    

八、MVC 设计模式

1. MVC 组成

  • Model:数据模型(JavaBean、DAO、Service)
  • View:视图(JSP、HTML)
  • Controller:控制器(Servlet)

2. MVC 工作流程

  1. 用户发送请求到控制器(Servlet)
  2. 控制器调用模型(Service/DAO)处理业务逻辑
  3. 模型返回处理结果给控制器
  4. 控制器选择视图(JSP)并传递数据
  5. 视图渲染响应返回给用户

九、数据库访问(JDBC)

1. JDBC 基本步骤

// 1. 加载驱动
Class.forName("com.mysql.jdbc.Driver");// 2. 获取连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname", "username", "password");// 3. 创建Statement
PreparedStatement ps = conn.prepareStatement("SELECT * FROM users WHERE id=?");// 4. 设置参数并执行
ps.setInt(1, 1);
ResultSet rs = ps.executeQuery();// 5. 处理结果集
while (rs.next()) {String name = rs.getString("name");// ...
}// 6. 关闭资源
rs.close();
ps.close();
conn.close();

2. 数据库连接池

  • 常见连接池

    • DBCP
    • C3P0
    • Druid(阿里开源)
  • 使用示例(以Druid为例):

    DruidDataSource dataSource = new DruidDataSource();
    dataSource.setUrl("jdbc:mysql://localhost:3306/dbname");
    dataSource.setUsername("username");
    dataSource.setPassword("password");Connection conn = dataSource.getConnection();
    // 使用连接...
    conn.close(); // 实际是返回到连接池
    

十、AJAX 与 JSON

1. AJAX 基础

  • XMLHttpRequest 对象

    var xhr = new XMLHttpRequest();
    xhr.open("GET", "url", true);
    xhr.onreadystatechange = function() {if (xhr.readyState == 4 && xhr.status == 200) {var data = JSON.parse(xhr.responseText);// 处理响应数据}
    };
    xhr.send();
    
  • jQuery AJAX

    $.ajax({url: "url",type: "GET/POST",data: {key: value},dataType: "json",success: function(data) {...},error: function() {...}
    });
    

2. JSON 处理

  • Java 对象转 JSON(使用 Jackson):

    ObjectMapper mapper = new ObjectMapper();
    String json = mapper.writeValueAsString(user); // 对象转JSON字符串
    User user = mapper.readValue(json, User.class); // JSON字符串转对象
    
  • JSP 中输出 JSON

    response.setContentType("application/json;charset=UTF-8");
    PrintWriter out = response.getWriter();
    out.print(json);
    out.flush();
    

十一、文件上传与下载

1. 文件上传

  • 表单设置

    <form action="upload" method="post" enctype="multipart/form-data"><input type="file" name="file"><input type="submit" value="上传">
    </form>
    
  • Servlet 处理(使用 Apache Commons FileUpload):

    DiskFileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    List<FileItem> items = upload.parseRequest(request);for (FileItem item : items) {if (!item.isFormField()) { // 文件字段String fileName = item.getName();File file = new File("上传路径", fileName);item.write(file);}
    }
    

2. 文件下载

response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));InputStream in = new FileInputStream(file);
OutputStream out = response.getOutputStream();byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) != -1) {out.write(buffer, 0, len);
}in.close();
out.flush();

十二、Web 安全基础

1. 常见安全问题

  • SQL 注入:使用 PreparedStatement 预防
  • XSS 跨站脚本攻击:对用户输入进行 HTML 转义
  • CSRF 跨站请求伪造:使用 token 验证
  • 会话固定攻击:登录后重置 sessionId

2. 安全措施

  • 密码加密

    // 使用MD5加密(需加盐)
    MessageDigest md = MessageDigest.getInstance("MD5");
    byte[] hash = md.digest((password + salt).getBytes());
    
  • 权限控制:使用 Filter 进行访问控制

  • HTTPS:配置 SSL 证书

以上是 JavaWeb 开发的核心基础知识,掌握这些内容可以胜任基本的 JavaWeb 开发工作。

http://www.dtcms.com/wzjs/244515.html

相关文章:

  • 做的网站很卡是什么原因呢百度电脑版官网入口
  • 什么网站可以做自考试题推广是做什么工作的
  • b2c网站代表揭阳seo推广公司
  • 网站关键词的布局深圳市seo网络推广哪家好
  • 芜湖做网站的邓健广州抖音推广
  • 深圳html5网站建设价格佛山全市核酸检测
  • 企业做电商网站有哪些好网站制作公司
  • vps建站教程网络搜索工具
  • 开发网站和application整站优化深圳
  • 大连装修公司前十名seo高级优化技巧
  • 开发一个网站的步骤搜索引擎排名查询
  • 有原型怎么做网站百度账号怎么改用户名
  • wordpress 应用市场如何提高网站排名seo
  • 使用java做直播网站百度公司网站推广怎么做
  • 微网站建设公司哪家好网络服务提供者知道或者应当知道
  • 网站右侧悬浮代码seo内链优化
  • 网站推广常用方法网站怎样优化关键词好
  • 怎么做网站的营销steam交易链接怎么看
  • 百容千域可以免费做网站吗投稿网
  • 网站bbs备案垂直搜索引擎
  • 网站建设公司客户分析淘宝客推广有效果吗
  • 淘宝做链接有哪些网站可以做百度关键字
  • 十大免费货源网站网站seo优化多少钱
  • 大港网站建设加快实施创新驱动发展战略
  • 在哪里找人做公司网站上海seo博客
  • 上海外贸公司招聘职位手机优化大师哪个好
  • 网站盈利了手机网站制作平台
  • 杭州市建设信用网站百度搜索引擎提交入口
  • 网站设计公司哪家好关键词检测
  • 用django做网站产品推广词