您的位置:首页 > 文旅 > 旅游 > app开发制作哪里正规_合肥市住建局官方网_销售推广的方法都有哪些_怎样进行网络营销吸引顾客

app开发制作哪里正规_合肥市住建局官方网_销售推广的方法都有哪些_怎样进行网络营销吸引顾客

2025/3/22 14:48:07 来源:https://blog.csdn.net/A129837/article/details/146233379  浏览:    关键词:app开发制作哪里正规_合肥市住建局官方网_销售推广的方法都有哪些_怎样进行网络营销吸引顾客
app开发制作哪里正规_合肥市住建局官方网_销售推广的方法都有哪些_怎样进行网络营销吸引顾客

JavaWeb 详细学习笔记

1. JavaWeb 概述

1.1 什么是 JavaWeb?
  • 定义:基于 Java 技术实现 Web 应用程序的开发,涵盖 Servlet、JSP、数据库交互、框架等。
  • 核心组件:Servlet、JSP、JDBC、Tomcat 服务器。
  • 应用场景:企业级网站、电商平台、管理系统等。
1.2 技术栈演进
  • 传统 JavaWeb:Servlet + JSP + JDBC
  • 主流框架:Spring + Spring MVC + MyBatis (SSM)
  • 微服务架构:Spring Boot + Spring Cloud

2. 环境搭建

2.1 开发工具
  • IDE:IntelliJ IDEA / Eclipse
  • 服务器:Tomcat 9+
  • 数据库:MySQL 8.0
  • 构建工具:Maven
2.2 第一个 JavaWeb 项目
  1. 创建 Maven 项目,选择 webapp 模板。
  2. 配置 Tomcat
     

    xml

    <!-- pom.xml 添加 Servlet 依赖 -->
    <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope>
    </dependency>
  3. 编写第一个 Servlet
     

    java

    @WebServlet("/hello")
    public class HelloServlet extends HttpServlet {protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {resp.getWriter().write("Hello JavaWeb!");}
    }

3. Servlet 核心

3.1 Servlet 生命周期
  1. 初始化init()(仅一次)
  2. 处理请求service() → doGet()/doPost()
  3. 销毁destroy()(服务器关闭时)
3.2 请求与响应
  • HttpServletRequest:获取请求参数、头信息、Session。
  • HttpServletResponse:设置响应内容、重定向、Cookie。

示例:表单提交

 

java

@WebServlet("/login")
public class LoginServlet extends HttpServlet {protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String username = req.getParameter("username");String password = req.getParameter("password");// 验证逻辑...resp.sendRedirect("welcome.jsp");}
}

4. JSP 与 EL 表达式

4.1 JSP 基础
  • 作用:动态生成 HTML,简化页面开发。
  • 语法<% ... %>(脚本)、<%= ... %>(表达式)、<%@ ... %>(指令)。

示例:显示数据

 

jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<body><h1>欢迎, ${sessionScope.user.name}!</h1>
</body>
</html>
4.2 EL 表达式与 JSTL
  • EL:简化 JSP 中的 Java 代码,如 ${param.id}
  • JSTL:标签库实现逻辑控制:
     

    jsp

    <c:forEach items="${userList}" var="user"><tr><td>${user.id}</td><td>${user.name}</td></tr>
    </c:forEach>

5. 数据库交互(JDBC)​

5.1 连接 MySQL
 

java

public class DBUtil {private static final String URL = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";private static final String USER = "root";private static final String PASSWORD = "123456";public static Connection getConnection() throws SQLException {return DriverManager.getConnection(URL, USER, PASSWORD);}
}
5.2 使用 PreparedStatement 防 SQL 注入
 

java

public boolean login(String username, String password) {String sql = "SELECT * FROM user WHERE username = ? AND password = ?";try (Connection conn = DBUtil.getConnection();PreparedStatement ps = conn.prepareStatement(sql)) {ps.setString(1, username);ps.setString(2, password);ResultSet rs = ps.executeQuery();return rs.next();} catch (SQLException e) {e.printStackTrace();return false;}
}

6. 会话管理

6.1 Cookie 与 Session
  • Cookie:客户端存储,保存用户偏好。
     

    java

    Cookie cookie = new Cookie("username", "zhangsan");
    cookie.setMaxAge(60 * 60 * 24); // 有效期1天
    resp.addCookie(cookie);
  • Session:服务端存储,保存用户登录状态。
     

    java

    HttpSession session = req.getSession();
    session.setAttribute("user", user);
6.2 过滤器(Filter)与监听器(Listener)
  • Filter:实现权限控制、编码统一。
     

    java

    @WebFilter("/*")
    public class EncodingFilter implements Filter {public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {req.setCharacterEncoding("UTF-8");chain.doFilter(req, resp);}
    }

7. MVC 分层架构

7.1 MVC 模式
  • Model:数据层(DAO、Service)
  • View:展示层(JSP、HTML)
  • Controller:控制层(Servlet)
7.2 分层代码示例
 

java

// Service 层
public class UserService {public User getUserById(int id) {return userDao.findById(id);}
}// Servlet 控制器
@WebServlet("/user")
public class UserServlet extends HttpServlet {private UserService userService = new UserService();protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {int id = Integer.parseInt(req.getParameter("id"));User user = userService.getUserById(id);req.setAttribute("user", user);req.getRequestDispatcher("/userInfo.jsp").forward(req, resp);}
}

8. 常见问题与优化

8.1 中文乱码解决
  • JSP 页面
     

    jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  • Servlet
     

    java

    req.setCharacterEncoding("UTF-8");
    resp.setContentType("text/html;charset=UTF-8");
8.2 连接池优化
  • 使用 Druid 连接池
     

    xml

    <!-- pom.xml 添加依赖 -->
    <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.8</version>
    </dependency>

9. 实战项目推荐

  1. 学生管理系统:CRUD 操作 + 分页。
  2. 在线商城:商品展示、购物车、订单管理。
  3. 博客系统:文章发布、评论功能。

10. 学习资源推荐

  • 书籍:《Head First Servlet & JSP》《Spring 实战》
  • 视频:B 站黑马程序员 JavaWeb 教程
  • 文档:Oracle Servlet 官方文档

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com