网站建设确认报告,平度城乡建设局网站,appstore美区免费,南昌建设网站公司文章目录 #x1f4cb;前言#x1f3af;第三题#xff08;40分#xff09;#x1f3af;报错以及解决方法#x1f4dd;最后 #x1f4cb;前言
这篇文章是大学课程《JavaWeb基础框架程序设计》考试题目的内容#xff0c;包括了原题和答案。题目只包括了三道编程题#… 文章目录 前言第三题40分报错以及解决方法最后 前言
这篇文章是大学课程《JavaWeb基础框架程序设计》考试题目的内容包括了原题和答案。题目只包括了三道编程题分值为30分、30分和40分这篇文章继上一篇课程《JavaWeb基础框架程序设计》考试题上篇——基础应用题计算应用、水仙花数介绍40分的那题以及代码编写中出现的报错和解决方法。 第三题40分
添加员工档案添加员工档案包括两个 JSP 页面。其中 addEmployee1.jsp 页面负责显示添加界面addEmployee2.jsp 负责添加新进员工档案信息到指定数据库。具体说明如下
1添加员工档案信息页面 addEmployee.jsp该页面已给出运行界面如图2-1所示其表单属性“actionaddEmployee2.jsp”,指定本页面的表单由addEmployee2.jsp负责处理。
2addEmployee2.jsp该页面需要完成负责获取 addEmployee1.jsp 页面表单元素值将新进员工档案信息添加到指定数据库 hrms 当中。
提供的 addEmployee.jsp 页面代码如下。
% page languagejava contentTypetext/html; charsetutf-8pageEncodingutf-8%
!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd
html
head
meta http-equivContent-Type contenttext/html; charsetutf-8
title人事管理平台/title
style typetext/css
form td{border:1px solid #93CBEC;font-size:12px;height:30px;line-height:24px;
}
#resume{width:500px;height:80px;
}
/style
/head
bodyform actionsearchEmployee2.jsp methodposttable border0 cellspacing0 cellpadding0 width750pxtrtd colspan4 bgcolor#f1f7fcstrongnbsp;nbsp;nbsp;nbsp;查询员工档案信息/strong/td/tr trtd width150 aligncenter员工编号/tdtd colspan4 nbsp;nbsp;nbsp;nbsp;input typetext nameemployeeid idemployeeid //td/trtrtd aligncenter姓nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;名/tdtd colspan4nbsp;nbsp;nbsp;nbsp;input typetext nameusername idusername //td/trtrtd aligncenter性nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;别/tdtdnbsp;nbsp;nbsp;nbsp;select namesex idsexoption value所有/optionoption value男男/optionoption value女女/option/select/td/trtrtd aligncenter所属部门/tdtdnbsp;nbsp;nbsp;nbsp;select namebranch idbranchoption value所有/optionoption value总经理室 总经理室/optionoption value副总经理室副总经理室/optionoption value销售部销售部/optionoption value生产部生产部/optionoption value采购部采购部/optionoption value研发部研发部/optionoption value财务部财务部/optionoption value人事部人事部/option/select /td /tr trtd aligncenter出生日期/tdtdnbsp;nbsp;nbsp;nbsp;input typetext namebirthday idbirthday //td/trtrtd aligncenter籍nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;贯/tdtdnbsp;nbsp;nbsp;nbsp;input typetext namenativeplace idnativeplace //td/trtrtd aligncenter婚姻状况/tdtdnbsp;nbsp;nbsp;nbsp;select namemarriage idmarriageoption value所有/optionoption value未婚未婚/optionoption value已婚已婚/optionoption value离异离异/optionoption value丧偶丧偶/option/select /td/trtrtd aligncenter身份证号/tdtdnbsp;nbsp;nbsp;nbsp;input typetext nameidentityid ididentityid //td/trtrtd aligncenter政治面貌/tdtdnbsp;nbsp;nbsp;nbsp;select namepolitics idpoliticsoption value所有/optionoption value党员党员/optionoption value团员团员/optionoption value群众群众/optionoption value其他其他/option/select /td /trtrtd aligncenter民nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;族/tdtdnbsp;nbsp;nbsp;nbsp;input typetext namefolk idfolk //td/trtrtd aligncenter学nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;历/tdtdnbsp;nbsp;nbsp;nbsp;select nameeducation ideducationoption value所有/optionoption value初中初中/optionoption value高中高中/optionoption value中专中专/optionoption value专科专科/optionoption value本科本科/optionoption value硕士硕士/optionoption value博士博士/option/select /td/trtrtd aligncenter专nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;业/tdtdnbsp;nbsp;nbsp;nbsp;input typetext namedepartment iddepartment //td/trtrtd aligncenter毕业日期/tdtdnbsp;nbsp;nbsp;nbsp;input typetext namegraduatedate idgraduatedate //td/trtrtd aligncenter毕业院校/tdtdnbsp;nbsp;nbsp;nbsp;input typetext nameuniversity iduniversity //td/trtrtd aligncenter职nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;称/tdtdnbsp;nbsp;nbsp;nbsp;select nameposition idpositionoption value所有/optionoption value助理工程师助理工程师/optionoption value工程师工程师/optionoption value高级工程师高级工程师/optionoption value助理工程师助理工程师/optionoption value会计师会计师/optionoption value注册会计师注册会计师/optionoption value助理经济师助理经济师/optionoption value经济师经济师/optionoption value高级经济师高级经济师/optionoption value其他其他/option /select /td/trtrtd aligncenter在职情况/tdtdnbsp;nbsp;nbsp;nbsp;select nameincumbency idincumbencyoption value所有/optionoption value在职在职/optionoption value离职离职/optionoption value退休退休/optionoption value待聘待聘/optionoption value其他其他/option/select/td/trtrtd aligncenter用工形式/tdtdnbsp;nbsp;nbsp;nbsp;select nameincumbencytype idincumbencytypeoption value所有/optionoption value临时工正式工/optionoption value临时工临时工/optionoption value合同工合同工/optionoption value见习生见习生/optionoption value其他其他/option/select/td/trtrtd aligncenter个人简历/tdtdnbsp;nbsp;nbsp;nbsp;input typetext nameresume idresume/td/trtrtd colspan4 aligncenterinput typereset value清除 /nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;input typesubmit value提交 //td/tr/table/form/body
/htmladdEmployee2.jsp 页面解答如下。
% page languagejava contentTypetext/html; charsetutf-8pageEncodingutf-8%
% page importjava.sql.* %
%
// 获取表单中提交的参数request.setCharacterEncoding(utf-8); // 设置编码格式String EmployeeID request.getParameter(employeeid);String UserName request.getParameter(username); String Sex request.getParameter(sex); String Branch request.getParameter(branch);String Birthday request.getParameter(birthday); String NativePlace request.getParameter(nativeplace); String Marriage request.getParameter(marriage); String IdentityID request.getParameter(identityid); String Politics request.getParameter(politics); String Folk request.getParameter(folk);String Education request.getParameter(education);String Department request.getParameter(department); String GraduateDate request.getParameter(graduatedate); String University request.getParameter(university); String Position request.getParameter(position); String Incumbency request.getParameter(incumbency);String IncumbencyType request.getParameter(incumbencytype); String Resume request.getParameter(resume);// 判断是否有必填项为空
if (EmployeeID null || EmployeeID.equals() ||UserName null || UserName.equals()) {out.println(员工编号和姓名为必填项);
} else {// 数据库连接信息String driver com.mysql.cj.jdbc.Driver;String url jdbc:mysql://localhost:3306/hrms?useSSLfalseserverTimezoneUTC;String user root;String password 123456;Connection conn null;try {// 加载驱动程序Class.forName(driver);// 创建数据库连接conn DriverManager.getConnection(url, user, password);// 构建插入 SQL 语句String sql INSERT INTO employee (EmployeeID,UserName,Sex,Branch,Birthday,NativePlace,Marriage,IdentityID,Politics,Folk,Education,Department,GraduateDate,University,Position,Incumbency,IncumbencyType,Resume) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);// 创建 PreparedStatement 对象用于执行 SQL 语句PreparedStatement pstmt conn.prepareStatement(sql);// 设置参数值pstmt.setString(1, EmployeeID);pstmt.setString(2, UserName);pstmt.setString(3, Sex);pstmt.setString(4, Branch);pstmt.setString(5, Birthday);pstmt.setString(6, NativePlace);pstmt.setString(7, Marriage);pstmt.setString(8, IdentityID);pstmt.setString(9, Politics);pstmt.setString(10, Folk);pstmt.setString(11, Education);pstmt.setString(12, Department);pstmt.setString(13, GraduateDate);pstmt.setString(14, University);pstmt.setString(15, Position);pstmt.setString(16, Incumbency);pstmt.setString(17, IncumbencyType);pstmt.setString(18, Resume);// 执行 SQL 语句pstmt.executeUpdate();out.println(数据插入成功);// 关闭 PreparedStatement 对象pstmt.close();} catch (Exception e) {e.printStackTrace();out.println(数据库操作失败 e.getMessage());} finally {// 关闭数据库连接try {if (conn ! null) {conn.close();}} catch (SQLException se) {se.printStackTrace();}}
}
%数据库表结构如下需要SQL文件私信我或评论区留言。 运行结果如下。填好相对应的数据。 点击提交数据插入成功。 然后检查数据中是否有新插入的数据。 具体逻辑如下 首先通过 request.getParameter() 方法获取表单中提交的参数包括员工编号、姓名、性别、所属部门、出生年月、籍贯、婚姻状况、身份证号、政治面貌、民族、学历、毕业时间、毕业院校、职位、任职状态、用工类型和个人简历。 然后判断必填项是否为空如果为空则输出提示信息否则继续下一步操作。 接着使用 JDBC API 连接到 MySQL 数据库首先加载 MySQL 驱动程序并构建插入 SQL 语句。 创建 PreparedStatement 对象用于执行 SQL 语句并设置参数值。 执行 SQL 语句并提交事务输出操作结果。 最后关闭连接对象和 PreparedStatement 对象。 报错以及解决方法
一年多没写 JavaWeb 了在写这个题目的时候遇到了很报错与其说是在写题不如说是在处理 bug。题目很简单一会功夫就写完了要求的功能了但是数据库和 jdbc 的连接出现了问题因为不是学校的机房环境而且老师给的包是三点几的远古版本导致一直报错和产生其他相对应的错误。最后换了个八点多的版本这些问题就挥之而去了最后也是成功的运行了。接下来我们来看看出现报错有哪些因为现在报错已经全部处理完了所以得重新走一遍案发现场了。
报错1️⃣The server time zone value ‘йʱ‘ is unrecognized or represents more than one time zone 解决方法 首先我们要知道出现这个报错的原因是因为MySQL的时区设置出现了问题。
报错中提示我们要这么You must configure either the server or JDBC driver (via the ‘serverTimezone’ configuration property) to use a more specifc time zone value if you want to utilize time zone support. 意思是如果你想运用时区支持必须配置服务器或JDBC驱动程序通过 serverTimezone 配置属性来使用更具体的时区值。
因此我们在 jdbc 数据库连接的 url 后面加上 serverTimezoneUTC即可解决。serverTimezone 连接 mysql 数据库时指定了时差UTC 是全球标准时间北京地区早标准时间8小时。 报错2️⃣ Unknown initial character set index 255 received from server. Initial client character set can be forced via the characterEncoding property. 与 Unknown character set index for field 255 received from server. 与 Unable to connect to any hosts due to exception: java.net.ConnectException: Connection refused: connect
解决方法 首先这几个报错都是还没换高版本 mysql-connector-java-xxx.jar 前出现的 bug我怎么也没想到老师给的是三点几的包然后怼着 jdbc 的 url 搞了大半天然后出现上述的这些问题。他们意思分别是 1.从服务器接收到未知的初始字符集索引“255”。可以通过“characterEncoding”属性强制设置初始客户端字符集。 2.从服务器收到字段“255”的未知字符集索引。 3.由于以下异常无法连接到任何主机java.net.ConnectException连接被拒绝connect
首先要确保JDBC驱动程序是 MySQL Connector/J 5.1.x 或更高版本。早期版本可能无法正确处理字符集因此可能会导致该错误。因此我们从mysql-connector-java-xxx.jar 开始处理切换更高版本的然后再检查代码有没有其他报错如数据库服务器的其他设置、是否启用了自定义字符集等。 报错3️⃣Loading class com.mysql.jdbc.Driver. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
解决方法 报错的意思是正在加载类“com.mysql.jdbc.Driver”。这是不推荐使用的。新的驱动程序类是“com.mysql.cj.jdbc.driver”。驱动程序是通过SPI自动注册的通常不需要手动加载驱动程序类。
首先出现这个报错的原因是因为切换高版本的mysql-connector-java-xxx.jar 后原先的 com.mysql.jdbc.Driver 不推荐使用了需要把它修改成 com.mysql.cj.jdbc.Driver 即可。 ❗补充com.mysql.cj.jdbc.Driver 报错 遇到这个问题后需要检查如下
是否已将 MySQL JDBC 驱动程序添加到您的项目依赖项中。您可以通过将官方的 MySQL JDBC 驱动程序 JAR 文件添加到项目的 classpath 中来解决此问题。检查驱动程序的版本是否与您使用的 MySQL 数据库版本匹配。如果不匹配会出现此类错误。建议您使用与您正在使用的 MySQL 版本相应的官方 MySQL JDBC 驱动程序版本。您的 JDBC URL 是否正确。您应该检查您的 JDBC URL 是否正确包括正确指定主机、端口和数据库名称等信息。检查您的代码是否正确并确保正确加载了驱动程序。您可以在连接数据库之前使用 Class.forName() 方法注册 JDBC 驱动程序。 最后
这一题是关于人事管理平台的添加员工档案信息的操作题除了原题和答案还有报错处理的解决方法至此三道题的内容以及介绍了前两道题目可以看如下文章。
文章地址课程《JavaWeb基础框架程序设计》考试题上篇——基础应用题计算应用、水仙花数