Java实训第一天所学所感
- 7-20日Java实训感受
- 学习的详细内容
- jdbc实现流程
- 练习过程中遇到的问题
- 登录前后台交互实现步骤思想
7-20日Java实训感受
- 在7-20号这天,我迎来了期待已久的暑期实训,而自己也选到了自己喜欢的Java开发方向。自己也早早起来准备迎接实训的第一堂课,课堂上老师首先和我们将了这一段时间我们所需要完成的任务以及我们最关心的项目内容,老师讲的很好,自己也听的津津有味,虽然是复习一个jdbc的内容,但在老师的讲解下以及自己的练习自己又学到了许多的东西,包括对一些新的开发软件使用,jdbc的连接与使用方法和步骤。
- 今天自己学到了许多的东西,学会了新软件IntelliJ IDE、SQLYog、Tomcat以及teamview等新软件的使用,拓展了自己的视野;同时,跟随老师进行一个jdbc的复习,从面向过程到面向对象进行实现,让自己对这二者的区别有了一个更深的了解;此外,自己对servlet有了一个接触,明白了如果通过jdbc+servlet+tomcat进行一个前后台的交互。
学习的详细内容
在今天实训时间里,有对新软件的安装学习,有对jdbc数据库操作的复习以以及基使用jdbc+servlet+tomcat实现一个登录:
- IntelliJ IDE、SQLYog、tomcat、teamview的安装使用;
- 使用面向对象实现jdbc数据库的连接、查询、删除等操作;
- 对代码进行优化,使用面向对象的思想,对一些重复使用的代码进行封装调用,实现jdbc数据库的相关操作;
- 安装tomcat实现对java项目的代码的运行工作;
- 通过在IJ编辑器中创建“web application”项目实现一个网页登录界面;
- 使用servlet实现web项目中登录前后台的交互;
jdbc实现流程
- 加载驱动
Class.forName("com.mysql.jdbc.Driver"); //加载驱动
- 创建数据库连接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/summer_training", "root", "自己数据库密码");
- 写相应的sql
String sql = "select * from tb_user";
- 创建statement对象
PreparedStatement statement = connection.prepareStatement(sql); //创建对象
- sql返回结果集合
ResultSet resultSet = statement.executeQuery(); //返回解过集
- 处理结果结合
while (resultSet.next()) {
User user = new User();
int id = resultSet.getInt(1);
String username = resultSet.getString(2);
String password = resultSet.getString(3);
user.setId(id);
user.setUsername(username);
user.setPassword(password);
userList.add(user);
}
- 关闭数据库资源
DBUtil.close(resultSet, statement, connection);
练习过程中遇到的问题
- 在进行相应的数据库操作是需要在工程文件下导入mysql的jar包
- 在写相关servlet相关代码时,也需要从tomcat中导入相应的servlet-api.jar包,否则代码运行不起来
- 出现500错误解决方法:移动项目中的Lib文件夹到WEB-INF下,并且将tomcat添加到项目结构中,如图
解决方法:
4.Java字符串比较时发生的低级错误,判断两个字符串相等,不能使用简单的==进行判断是否相应,而是使用字符串比较函数equal()进行比较,如果使用前者总是判断为不相等。
登录前后台交互实现步骤思想
- 实现这个功能是基于Java面向对象的思想,通过在实体类中定义属性、get()、se()t以及相应的toString()方法实现将数据库中获取的数据存储到相应的列表List<>实例对象中,并返回。
- 前台在实现相应的登录表单后,通过使用servlet来获取到相应登录表单中的用户名和密码输入框中的内容,并存储到临时变量中。
- 通过返回的List<>对象的**get()**方法获取到数据库中查询的结果,接着将此结果与从表单中获取到的内容进行比较判断登录。
- 实现的效果: