使用集成开发环境实现web开发
集成开发工具很多,其中目前使用比较多的是IntelliJ IDEA和Eclipse
- IntelliJ IDEA(居多): JetBrain公司开发的收费软件, IDEA在提示功能方面要强于Eclipse使用起来更加智能更好用
- Eclipse(较少):Eclipse是IBM团队开发的, Eclipse寓意是“日食”(日是SUN公司), 但是2009年的时候SUN公司被Oracle公司并购了
使用IDEA实现WEB开发
第一步: New Project(如创建一个Empty Project空工程) —> New Module(在该空工程下新建一个普通的Java模块/基于Maven的Java Enterprise模块)
- 这个Empty Project起名为javaweb, Module起名servlet01自动会被放在javaweb工程的下面
第二步: 如果新建的是普通的Java模块需要变成符合webapp规范的JavaEE模块
- 在Module上右键点击Add Framework Support(添加框架支持), 在弹出的窗口中选择Web Application默认是4.0版本
第三步: IDEA根据Web Application模板自动生成一个符合Servlet规范的web目录, 这个web目录就代表webapps目录中的一个项目
- Web Application模板生成的index.jsp资源文件可以选择删除
第四步:将Servlet.class文件所在的servlet-api.jar以及jsp-api.jar添加到IDEA的classpath当中, 编写XxxServlet实现jakarta.servlet.Servlet接口中的5个方法
- File–>Project Structrue(设置工程结构)–>Modules–>Dependencies --> 点击 " + "添加依赖 --> Add JARS(添加单独的jar包)/ Add Libraries (添加整个库的jar包)
- Modules SDK 换成对应的jdk版本 , 在File -> settings -> Java compile设置jdk版本
第五步:在Servlet当中的service方法中编写业务代码(我们这里实现连接数据库的功能)
- 由于连接数据库需要第三方的jar包 , 此时需要在WEB-INF目录下新建一个lib子目录用来存放连接数据库驱动所在的jar包
//这些类都不是JDK中的jar包,需要通过classpath环境变量告诉虚拟机从哪加载这些类
import jakarta.servlet.Servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.ServletConfig;
import java.io.IOException;
import java.io.PrintWriter;
public class StudentServlet implements Servlet{
//实现jakarta.servlet.Servlet接口中的5个方法
public void init(ServletConfig config) throws ServletException{
}
public void service(ServletRequest request,ServletResponse response) throws ServletException , IOException{
// 设置响应的内容类型
response.setContentType("text/html");
PrintWriter out = response.getWriter();
// 编写JDBC代码,连接数据库,查询所有学生信息。
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try{
// 注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 获取连接
String url = "jdbc:mysql://localhost:3306/bjpowernode";
String user = "root";
String password = "root";
conn = DriverManager.getConnection(url,user,password);
// 获取预编译的数据库操作对象
String sql = "select no,name from t_student";
ps = conn.prepareStatement(sql);
// 执行SQL
rs = ps.executeQuery();
// 处理查询结果集
while(rs.next()){
String no = rs.getString("no");
String name = rs.getString("name");
//将查询到的信息输出到浏览器
out.print(no + "," + name + "<br>");
}
}catch(Exception e){
e.printStackTrace();
}finally{
// 释放资源
if(rs != null){
try{
rs.close();
}catch(Exception e){
e.printStackTrace();
}
}
if(ps != null){
try{
ps.close();
}catch(Exception e){
e.printStackTrace();
}
}
if(conn != null){
try{
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
public void destroy(){
}
public String getServletInfo(){
return "";
}
public ServletConfig getServletConfig(){
return null;
}
}
第六步:在WEB-INF目录下的web.xml文件中完成StudentServlet类的注册(指定请求路径和Servlet之间的对应关系)
<?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-name>studentServlet</servlet-name>
<servlet-class>com.bjpowernode.javaweb.servlet.StudentServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>studentServlet</servlet-name>
<url-pattern>/servlet/student</url-pattern>
</servlet-mapping>
</web-app>
第七步:在WEB-INF目录外面准备一个student.html页面,用户点击页面中的超链接时发送请求,Tomcat服务器接受请求执行后台的Servlet程序
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>student page</title>
</head>
<body>
<!--这里的项目名是 "/xmm" 先写死,以后学了JSP可以动态获取-->
<a href="/xmm/servlet/student">student list</a>
</body>
</html>
第八步:让IDEA工具关联Tomcat服务器 , 关联的过程当中IDEA会将开发的web项目部署到Tomcat服务器的webapps目录下
- 点击IDEA工具右上角绿色小锤子的右边有一个Add Configuration选项 , 在弹出的窗口中点击左上角 " + " 添加Tomcat Server到local(本地)
第九步: 配置服务器的Server相关参数, URL, JRE的版本(与jdk版本对应) ,服务器的名字/安装包/启动服务器时的行为/代码改动时的行为
- IDEA中改完Servelt的源代码后默认需重启服务器 , 如果不想重启服务器需要配置更新字节码文件时自动重启Tomcat服务器
第十步: 配置服务器的Deployment部署的相关参数, 点击 " + " 添加Artifact指定要部署的web项目
- Application context参数指定web应用的上下文路径
第十一步:使用右上角绿色的小虫子以debug的方式启动Tomcat服务器方便打断点调试
第十二步:打开浏览器在地址栏上输入http://localhost:8080/xmm/student.html, 访问Tomcat服务器上的xmm项目下的资源查看页面效果