一、JavaWeb概述
Java Web,是用Java技术来解决相关web互联网领域的技术栈。web包括:web服务端和web客户端两部分。Java在客户端的应用有Java Applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP、第三方框架等等。Java技术对Web领域的发展注入了强大的动力。
二、Servlet
Servlet简介
Servlet是Java编写的一种server-side程序,它在web服务器上运行,并处理来自客户端(浏览器)的请求。Servlet能够处理多种不同类型的请求,如HTTP请求、HTTPS请求、FTP请求等。Servlet通常被用于动态生成网页内容,比如根据用户请求生成HTML网页。常用的Servlet容器包括Tomcat和Jetty等。在实际开发中,Servlet通常与JSP(Java Server Pages)共同使用,以构建动态Web应用程序。
1、导入pom依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
2、创建一个HelloServlet类
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter printWriter=resp.getWriter();
printWriter.print("hello servlet");
}
}
3、添加web支持,并编写web.xml
<?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>hello</servlet-name>
<servlet-class>com.demo.servlet.HelloServlet</servlet-class>
</servlet>
<!-- servlet请求路径 -->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
4、配置tomcat服务器,并且创建lib文件夹,导入库,不然会404
5、运行http://localhost:8080/hello测试
三、Jsp
Jsp简介
JSP(JavaServer Pages)是一种动态网页技术,它允许在HTML页面中嵌入Java代码,并在服务器端执行Java代码,生成动态内容返回给客户端。JSP技术可以帮助开发者更加高效地创建动态网页、Web应用程序和企业级应用程序。
导入pom依赖
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
</dependency>
<!-- jstl表达式的依赖-->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
jsp语法
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>JavaWeb</title>
</head>
<body>
<%
String name="我是Jsp";
%>
<%=name%>
<%=new Date()%>
<%--jsp脚本片段--%>
<%
int sum = 0;
for (int i = 1; i <=100 ; i++) {
sum+=i;
}
out. println("<h1>sum="+sum+ "</h1>");
%>
</body>
</html>
四、JDBC
JDBC(Java Database Connectivity)是Java的一种标准API,用于与关系数据库进行交互。JDBC API提供了许多接口和类,用于执行SQL语句、处理结果集、管理与数据库的连接等。
使用JDBC API与数据库交互的步骤一般如下:
- 加载JDBC驱动程序
- 建立与数据库的连接
- 创建Statement或PreparedStatement对象
- 执行SQL语句
- 处理查询结果或更新操作的返回结果
- 关闭所有对数据库的连接,释放资源
导入pom依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
import java.sql.*;
public class TestJDBC {
public static void main(String[] args) {
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 加载数据库驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 建立与数据库的连接
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
// 创建Statement对象
stmt = con.createStatement();
// 执行查询语句
rs = stmt.executeQuery("SELECT * FROM lsz_user");
// 处理查询结果
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String pwd = rs.getString("pwd");
System.out.println(id + ", " + name + ", " + pwd);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭所有的连接和资源
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (con != null) con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}