java 项目实训开发:
软件的架构模式:
B/S: 浏览器和服务器之间的交互.(只要有浏览器就可以)
C/S: 客户端和服务器之间的交互。(专门的客户端软件)
2.软件的组成:
客户端页面:html+css+js
服务器程序:tomcat+Java
Java 的相关内容:
搭建开发环境(jdk,idea,tomcat),
3.服务器:(硬件+软件)
tomcat 服务器的安装
tomcat 服务器
bin 文件夹:存放了服务器所有的使用命令。(开启和关闭)
conf 文件夹:存放服务器所有配置文件(修改端口号)
Lib 文件夹:存放了服务器依赖的所有 jar 包
logs 文件夹:存放了日志
webApps 文件夹:存放了所有要发布的项目
work 文件夹:存放你发布的项目重客户端页面
服务器闪退的原因:
1.没有配置 jdk 环境变量
2.jdk 版本和服务器版本不兼容
服务器的访问:http://IP 地址:端口号/项目名
4.在服务器上发布项目:
手动发布:
把项目复制粘贴到服务器的 webapps 文件夹中
自动发布:
先从 application 作用域中获取访问过页面的人数:
integer num = application.getAttribute(“num”);
If(num == null){
application
JSP
HTML 与 jsp 的区别:
html:静态网页.1.不需要服务器,只需要浏览器就可以运行。
2.静态页面的网页内容无法随时间的改变而更新。
JSP:动态网页。
1.必须部署在我们的服务器上才可以运行。
2.JSP 页面可以随着时间的推移自动更新页面内容。
3.JSP 页面可以把 Java 代码和 HTML 代码有效的结合到一起。
integer 包装类
public int getStudentId(){
return studentId;
}
public void setStudentId(int studentId){
this.studentId = studentId;
}
public String getName(){
return name;
}
public void setName(Stringname){
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
jsp 页面的九大内置对象
1.out:输出对象,用来输出数据的,也可以输出 html 页面
2.request:请求对象。保存了客户端发送给服务器的所有请求数据。
3.response:响应对象
4.pageContext:页面的上下文对象。存储数据只能在当前页面访问
5.session:会话对象。(存储数据)只要浏览器不关闭,都可以访问数据。
6.application:服务器对象。(存储数据)只要服务器 不关闭,一直访问数据。
服务器端程序 servlet
服务器端程序 servlet 的使用:
服务器程序的创建:
1.创建一个 Java 类,继承一个 HTTPservlet 类(集成服务器资源库)
2.重写 doget 和 dopost 方法,接受 get 和 post 请求
3.配置服务器路径
(创 package 时候填网址名字和用处
com.zhy.pojo)
资源库集成服务器资源
先从 application 作用域中获取访问过页面的人数:
integer num = application.getAttribute(“num”);
If(num == null){
application
JDBC 链接数据库:
1.引入第三方 jar 包文件
复制粘贴到项目里面 有固定放的地方:
web-inf 中创建个 lib
创建 package 时候:
com 域名 zhy 公司名称功能名称
pojo 实体类(数据模型包)
dao 功能模型包
implements Serializable
alt+enter
通过反射机制来注册驱动程序:
通过驱动链接数据库:
编写功能的sql语句:
通过链接预处理sql语句:
执行语句
释放资源
public List<Student> getAllStudent() {
*//**新建一个**list**集合
List<Student> stus= new ArrayList<>();
Connection conn =null;
PreparedStatement psts=null;
ResultSet rs=null;
*//1.**通过反射机制来注册驱动程序:
try {
Class.*forName*("com.mysql.cj.jdbc.Driver");
*//2.**通过驱动链接数据库:
conn = DriverManager.*getConnection*("jdbc:mysql://localhost:3306/dbms_user?serverTimezone=UTC&characterEncoding=utf-8","root","123456");
*//3.**编写功能的**sql**语句:
String sql ="select * from student";
*//4.**通过链接预处理**sql**语句:
psts = conn.prepareStatement(sql);
*//5.**执行语句
rs=psts.executeQuery();
*//**循环遍历**rs**集合
while (rs.next()){*//**判断结果集中有没有下一条数据
*//**创建数据模型对象
Student stu =new Student();
stu.setStuNo(rs.getInt(1));
stu.setStuName(rs.getString(2));
stu.setStuAge(rs.getInt(3));
*//**把模型对象保存到集合当中
stus.add(stu);
}
} catch (ClassNotFoundException | SQLException e) {
throw new RuntimeException(e);
} finally {
*//7.**释放资源
try {
if (rs != null) {
rs.close();
}
if(psts!=null) {
psts.close();
}
if (conn!=null){
conn.close();
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
return stus;
}