课堂作业-添加课程(初识数据库和javaweb)
头秃了,头秃了,废了好长时间,终于学了个毛皮。闲话少说,开始正题!
我用的是eclipse java ee版本的,一开始用的是java版本的,好像是那个也可以用来写javaweb,前提是需要下载插件,经过我5次不懈的努力,终于,还是换了个软件。。。但效果还是不错的。因为是萌新,学习起来比较困难,
首先了解一下目录文件:感谢学长的分享 :https://www.cnblogs.com/zll20153246/p/7871723.html
java web架构:https://blog.csdn.net/a153375250/article/details/50935948
然后就开始下载各个软件,配置环境,参考:https://blog.csdn.net/haojun1996/article/details/86536929
这个大佬讲的很详细,按照一步一步来就可以
对于startup.bat文件,打开它就会一闪而过,结局办法:set JAVA_HOME = jdk 路径
还有打开它后乱码的问题 :找到Tomcat 里面的conf目录找到logging.properties,把里面1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8都改为1catalina.org.apache.juli.AsyncFileHandler.encoding = GBK。乱码问题就解决了。
开始写javaweb代码了:
1,创建一个web项目文件
2,在所需要的类中写入所需要的代码:再次感谢学长
1 | com.Bean包 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | package com.Bean; public class HaveClass { private String teachername; private String place; private String classname; public String getTeachername() { return teachername; } public void setTeachername(String teachername) { this .teachername = teachername; } public String getPlace() { return place; } public void setPlace(String place) { this .place = place; } public String getClassname() { return classname; } public void setClassname(String classname) { this .classname = classname; } } |
1 | com.Dao包 |
1 | package com.Dao;<br><br><br> import java.sql.Connection;<br> import java.sql.PreparedStatement;<br><br> import java.sql.SQLException;<br><br> import com.Util.DBUtil;<br> import com.Bean.HaveClass;<br><br><br> public class ClassDaoImpl {<br><br> public void add(HaveClass claz)<br> {<br> //获得链接对象<br> Connection connection = DBUtil.getConnection();<br> if(connection==null) System.out.println("NULL!");<br><br> //准备sql语句<br> String sql = "insert into t_class(teachername,classname,place) values(?,?,?)";<br> PreparedStatement preparedStatement = null;<br> try {<br> //创建语句传输对象<br> preparedStatement = connection.prepareStatement(sql);<br><br> preparedStatement = connection.prepareStatement(sql);<br> preparedStatement.setString(1, claz.getTeachername());<br> preparedStatement.setString(2, claz.getClassname());<br> preparedStatement.setString(3, claz.getPlace());<br> preparedStatement.executeUpdate();<br> } catch (SQLException e) {<br> // TODO Auto-generated catch block<br> e.printStackTrace();<br> }finally {<br> //关闭资源<br><br> DBUtil.close(preparedStatement);<br> DBUtil.close(connection);<br> }<br><br> }<br><br>} |
1 | com.Util包 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | package com.Util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Properties; public class DBUtil { public static Connection getConnection() { try { Class.forName( "com.mysql.jdbc.Driver" ).newInstance(); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } Properties info = new Properties(); //定义Properties对象 info.setProperty( "user" , "root" ); //设置Properties对象属性 info.setProperty( "password" , "2316811443" ); String url = "jdbc:mysql://localhost:3306/mydatabase" ;//?characterEncoding=utf8 Connection connection = null ; try { connection = DriverManager.getConnection(url,info); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return connection; } public static void close(Connection connection ) { try { if (connection != null ) { connection.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void close(PreparedStatement preparedStatement ) { try { if (preparedStatement != null ) { preparedStatement.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void close(ResultSet resultSet ) { try { if (resultSet != null ) { resultSet.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } |
后台jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | <% @page import = "com.Util.DBUtil" %> <% @page import = "com.Dao.ClassDaoImpl" %> <% @page import = "com.Bean.HaveClass" %> <%@ page language= "java" contentType= "text/html; charset=UTF-8" pageEncoding= "UTF-8" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > <html> <% //接收客户端传递过来的参数 String teachername = request.getParameter( "teachername" ); String classname = request.getParameter( "classname" ); String place = request.getParameter( "place" ); try { if (!teachername.trim().equals( "王建民" )&&!teachername.trim().equals( "刘立嘉" )&&!teachername.trim().equals( "刘丹" )&&!teachername.trim().equals( "王辉" )&&!teachername.trim().equals( "杨子光" )) { throw new Exception( "不能输入规定之外的老师名称" ); } else if (!place.trim().startsWith( "基教" )&&!place.trim().startsWith( "一教" )&&!place.trim().startsWith( "二教" )&&!place.trim().startsWith( "三教" )) { throw new Exception( "不能输入规定之外的地点名称!" ); } else { HaveClass haveclass = new HaveClass(); haveclass.setTeachername(teachername); haveclass.setClassname(classname); haveclass.setPlace(place); ClassDaoImpl classDao = new ClassDaoImpl(); classDao.add(haveclass); } } catch (Exception e){ %> <h2 style= "color:red ; font-size:50px" >发生错误 : <%=e.getMessage() %></h2> <% } %> </html> |
页面显示代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <%@ page language= "java" contentType= "text/html; charset=UTF-8" pageEncoding= "UTF-8" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > <html> <head> <title>课程添加页面</title> </head> <body> <form action= "add.jsp" method= "get" > <table align= "center" border= "1" width= "500" > <tr> <td>课程名称 : </td> <td> <input type= "text" name= "classname" /> </td> </tr> <tr> <td>任课教师:</td> <td> <input type= "text" name= "teachername" /> </td> </tr> <tr> <td>上课地点:</td> <td> <input type= "text" name= "place" /> </td> </tr> <tr align= "center" > <td colspan= "2" > <input type= "submit" value= "提交" /> <input type= "reset" value= "重置" /> </td> </tr> </table> </form> </body> </html> |
最后是项目文件目录
注意 jar 包,它是用来连接数据库的,一开始我加在
里面,试了好久,发现连接数据库失败。
然后我就把竟然包放在了lib目录下,就成功了‘
注意,连接数据库失败的话,可能原因有很多。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?