Servlet基础
Servlet是Java Web开发的基础,它是一个运行在服务器端的小程序,用于处理客户端的请求并生成响应。
创建Servlet
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("/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().write("Hello, World!");
}
}
配置Servlet
在web.xml
中配置Servlet:
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.example.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
JSP技术
JSP(JavaServer Pages)是一种用于创建动态Web页面的技术。JSP页面中可以包含HTML、CSS、JavaScript以及Java代码。
创建JSP页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Hello JSP</title>
</head>
<body>
<h1>Hello, JSP!</h1>
<%
String name = "World";
out.println("Hello, " + name + "!");
%>
</body>
</html>
常用Web框架
Spring MVC
Spring MVC是Spring框架的一部分,用于构建Web应用。它采用了MVC(Model-View-Controller)设计模式。
创建控制器
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@RequestMapping("/hello")
@ResponseBody
public String sayHello() {
return "Hello, Spring MVC!";
}
}
Struts2
Struts2是一个基于MVC设计模式的Web框架,它提供了丰富的标签库和插件支持。
创建Action
import com.opensymphony.xwork2.ActionSupport;
public class HelloAction extends ActionSupport {
private String name;
public String execute() {
return SUCCESS;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
JSF
JSF(JavaServer Faces)是一种用于构建Web应用的框架,它采用了组件化的设计理念。
创建Managed Bean
import javax.faces.bean.ManagedBean;
@ManagedBean
public class HelloBean {
private String name = "World";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
数据库操作
JDBC
JDBC(Java Database Connectivity)是Java语言中用于数据库操作的API。
连接数据库
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JdbcUtil {
public static Connection getConnection() throws SQLException {
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
return DriverManager.getConnection(url, username, password);
}
}
MyBatis
MyBatis是一个优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。
配置MyBatis
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/example/mapper/UserMapper.xml"/>
</mappers>
</configuration>
Hibernate
Hibernate是一个ORM(Object-Relational Mapping)框架,它将Java对象映射到数据库表。
配置Hibernate
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping class="com.exampl
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理