JavaWeb: IntelliJ IDEA集成开发环境下开发第一个servlet程序
第一步:创建工程 New Project:先创建一个空工程(Empty Projcet),起名为:javaweb。
第二步:新建模块 File --> new --> Module…
这里新建的是一个普通的JavaSE模块,这个Module自动会被放在javaweb的project下面。起名为:servlet01。
第三步:让Module变成JavaEE的模块 让Module变成webapp的模块。符合webapp规范。符合Servlet规范的Module。
- 在Module上点击右键:Add Framework Support…(添加框架支持)
- 在弹出的窗口中,选择Web Application(选择的是webapp的支持)
- 选择了这个webapp的支持之后,IDEA会自动给你生成一个符合Servlet规范的webpp目录结构。
重点,需要注意的:在IDEA工具中根据Web Application模板生成的目录中有一个web目录,这个目录就代表webapp的根
class StudentServlet implements Servlet
Servlet.class
文件没有,将CATALINA_HOME/lib/servlet-api.jar
和jsp-api.jar
添加到classpath
当中(这里的classpath
说的是IDEA的classpath
)File --> Project Structrue --> Modules --> + 加号 --> Add JARS…
文章图片
实现
jakarta.servlet.Servlet
接口中的5个方法。第六步:在Servlet当中的service方法中编写业务代码(连接数据库)
文章图片
实现StudentServlet类:
package com.lhr.javaweb.servlet;
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;
import java.sql.*;
public class StudentServlet implements Servlet{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{
// 注册驱动 (com.mysql.jdbc.Driver,这个已过时。)
// 新版本中建议使用:com.mysql.cj.jdbc.Driver驱动。
Class.forName("com.mysql.cj.jdbc.Driver");
// 获取连接
String url = "jdbc:mysql://localhost:3306/student";
String user = "root";
String password = "luhaoran2001";
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");
//System.out.println(no + "," + name);
out.print(no + "," + name + "
");
}
}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;
}
}
这里再补充下mysql数据库的相关配置:
文章图片
建立student数据库,建立t_student表,插入四条数据。
查看表的内容:
文章图片
第七步:在WEB-INF目录下新建了一个子目录:lib,并且将连接数据库的驱动jar包放到lib目录下。 在web.xml文件中完成StudentServlet类的注册。(请求路径和Servlet之间对应起来)
>
>studentServlet
>com.bjpowernode.javaweb.servlet.StudentServlet
>
>studentServlet
/servlet/student
第九步:给一个html页面,在HTML页面中编写一个超链接,用户点击这个超链接,发送请求,Tomcat执行后台的StudentServlet。
student.html
这个文件不能放到WEB-INF目录里面,只能放到WEB-INF目录外面。student.html
文件的内容:
student page - 锐客网 student list
第十步:让IDEA工具去关联Tomcat服务器。关联的过程当中将webapp部署到Tomcat服务器当中。
- IDEA工具右上角,绿色小锤子右边有一个:Add Configuration
- 左上角加号,点击Tomcat Server --> local
- 在弹出的界面中设置服务器Server的参数(基本上不用动)
- 在当前窗口中有一个Deployment(点击这个用来部署webapp),继续点击加号,部署即可。
- 修改 Application context为:/xmm
文章图片
注意:
此时运行发生了报错是apache-Tomcat在mac中权限的问题,解决的方法,找到Tomcat的目录下(终端下):
# sudo chmod -R755 apache-tomcat-10.0.12
启动界面如下:
文章图片
第十二步:打开浏览器,在浏览器地址栏上输入:http://localhost:8080/xmm/student.html 演示结果如下:
文章图片
文章图片
恭喜你完成了第一个servlet程序。
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)