JavaEE实验报告1_201509
javaee实训报告

javaee实训报告1. 引言JavaEE是一种用于开发企业级应用程序的技术平台,具有跨平台、可扩展和安全等特点。
本报告旨在总结我在JavaEE实训过程中的学习和实践经验。
2. 实训内容2.1 实训目标实训的主要目标是掌握JavaEE技术及其相关框架的应用,包括Servlet、JSP、JavaBean、JDBC、Spring等。
2.2 实训环境实训使用的开发环境包括Eclipse集成开发环境、Tomcat服务器和MySQL数据库。
3. 实训过程3.1 计划阶段在实训开始前,我制定了详细的计划,包括每个阶段的任务和时间安排。
我明确了自己的学习目标,并制定了一些衡量标准来评估自己的学习成果。
3.2 学习阶段我系统地学习了JavaEE技术的相关知识,包括Servlet、JSP、JavaBean和JDBC。
通过阅读相关的教程、文档和参考书籍,我对JavaEE的整体架构和各个组件的作用有了深入的理解。
3.3 实践阶段在学习阶段之后,我开始进行实践。
我选择了一个实际的案例来开发一个基于JavaEE的应用程序。
在开发过程中,我遇到了一些问题并逐一解决,通过不断调试和修改代码来改善应用程序的性能和功能。
4. 实训成果4.1 独立开发能力通过这次实训,我掌握了JavaEE开发的基本技能,并能够独立进行简单的应用程序开发。
我学会了使用Servlet和JSP来实现用户界面和业务逻辑的分离,并通过JavaBean和JDBC与数据库进行交互。
4.2 团队协作能力在实训中,我们组成了一个小组来共同开发一个完整的应用程序。
我学会了与他人合作,并通过与小组成员之间的交流来优化应用程序的功能和性能。
5. 实训总结通过这次实训,我对JavaEE技术有了更深入的了解,并在实践中获得了宝贵的经验。
我学会了如何独立进行应用程序的开发,并通过团队合作来实现更复杂的功能。
这次实训不仅提高了我的专业能力,还提升了我的团队合作和解决问题的能力。
javaee实训报告总结

javaee实训报告总结本次JavaEE实训报告旨在总结我在实训期间所学到的知识和技能,以及实践中的所思所悟。
通过实际项目的开发和实践,我深刻地理解了JavaEE技术的核心概念和应用,提升了编程能力和项目管理能力。
以下是对本次实训的总结和回顾。
一、实训概述在本次实训中,我们团队共同开发了一个基于JavaEE的Web应用项目。
该项目的主要功能是实现在线购物平台,包括用户注册、商品浏览、购买结算等功能。
我们采用了敏捷开发的方法,通过多次迭代和反馈,逐步完善和优化项目。
二、所学知识和技能1. JavaEE技术栈:在实训中,我深入学习和应用了JavaEE技术栈的相关知识,包括Servlet、JSP、JDBC、Spring框架、MyBatis等。
我了解了它们之间的关系和使用方法,并成功地将它们应用到项目中。
2. 数据库设计与管理:我通过实战项目熟悉了数据库的设计和管理,包括建表、插入数据、查询等操作。
我掌握了SQL语句的编写和调优,并学会了使用关系型数据库管理系统(如MySQL)。
3. 前端开发:为了实现一个友好的用户界面,我学习了HTML、CSS和JavaScript等前端开发技术。
我可以自主设计和构建网页,实现用户交互和样式美化。
三、实训反思和收获1. 团队合作:在实训中,我们团队充分发挥各自的优势和专长,高效协作完成项目开发。
通过项目的合作开发,我深刻体会到团队合作的重要性,学会了与他人合作,共同解决问题。
2. 项目管理:在实训过程中,我们采用了敏捷开发的方法,通过迭代和反馈不断优化项目。
我学会了制定合理的计划和目标,并根据实际进展进行调整和优化。
在项目管理方面,我提升了自己的能力。
3. 自我学习能力:在实训中,我们面临许多问题和挑战,有些是之前未接触过的。
通过自主学习和寻找解决方案,我成功解决了一些难题。
我意识到在技术发展迅速的领域,自我学习能力是很重要的。
四、实训心得和展望通过本次实训,我对JavaEE技术栈有了更深入的理解和应用经验。
javaee实训报告总结

javaee实训报告总结JavaEE(Java Platform, Enterprise Edition)是用于开发企业级应用程序的一种Java平台。
通过JavaEE平台,开发人员可以轻松地创建大规模、复杂的Web应用程序,从而满足企业的需求。
在本次实训中,我有幸参与了一个JavaEE项目的开发,并在这个过程中收获了许多宝贵的经验和知识。
1. 项目背景本次实训的项目是一个在线图书销售平台。
该平台允许用户浏览、购买图书,并提供了个人信息管理、订单管理等功能。
我作为一名实习生,参与了平台的前后端开发工作。
与我一同合作的团队成员都是经验丰富的开发工程师,他们的指导和帮助对我的成长起到了很大的促进作用。
2. 技术选型在项目开始之前,我们首先进行了技术选型。
考虑到项目规模较大,我们决定采用JavaEE作为开发平台。
具体而言,我们选择了Spring MVC作为后端框架,用于处理请求和响应;Hibernate作为ORM框架,用于与数据库进行交互;同时,使用了Bootstrap来提供前端的样式和布局。
3. 项目规划在项目启动之初,我们进行了详细的项目规划和需求分析。
通过与项目经理和产品经理的沟通,我们明确了项目的功能和模块划分。
我们将整个项目分为用户模块、图书管理模块、订单模块等,每个模块又细分为多个子功能。
这样的模块划分有助于团队合作和任务分配,提高了开发效率。
4. 开发过程在项目开发的过程中,我们采用了敏捷开发的方法。
每个工作日开始时,我们都会进行简短的站立会议,讨论前一天的工作成果和今天的计划。
这有助于整个团队保持信息同步和高效协作。
我主要负责的是用户模块的开发。
首先,我使用Spring MVC搭建了整个模块的后端框架,并编写了相关的控制器和服务类。
我参考了Spring MVC的官方文档和一些开发教程,逐步掌握了如何处理请求、参数绑定、视图解析等技术。
随后,我开始编写前端页面。
我采用了Bootstrap作为前端框架,利用其提供的样式和组件,快速搭建了用户注册、登录、个人信息管理等页面。
javaee实训报告

javaee实训报告一、引言在这篇报告中,我将详细介绍我参与的JavaEE实训项目,包括项目的背景、目标、实施过程以及遇到的挑战和成果。
二、项目背景本实训项目是为了培养学生在JavaEE技术方面的实践能力,提升他们在企业中就业的竞争力。
我们小组共有五名成员,每个人根据自己擅长的领域分工合作,从需求分析到系统测试都参与其中。
三、项目目标本项目的目标是开发一个基于JavaEE技术的在线购物网站。
我们要实现用户注册登录、商品浏览、购物车管理、订单处理等核心功能,并保证系统的性能和安全性。
同时,我们还需要应用数据库和前端技术,使用户界面友好、美观。
四、项目实施过程1. 需求分析在项目开始之前,我们与项目经理进行了多次沟通,了解了项目的业务需求和技术要求。
根据需求分析文档,我们制定了详细的开发计划和时间表。
2. 系统设计在系统设计阶段,我们针对核心功能进行了详细的设计,包括数据库设计、系统架构设计、模块划分等。
我们遵循了MVC设计模式,确保系统的可维护性和扩展性。
3. 开发实现根据设计文档,我们开始了系统的开发实现。
我们使用了JavaEE的各种技术,如Servlet、JSP、Hibernate等,来实现系统的各个模块。
同时,我们使用了版本控制工具来管理代码的版本,保证开发的协同性。
4. 系统测试在开发完成后,我们进行了系统的测试工作。
我们进行了功能测试、性能测试、安全性测试等,确保系统的稳定性和安全性。
在测试过程中,我们发现了一些问题并及时修复。
五、遇到的挑战和解决方案在实训项目中,我们遇到了一些挑战,如技术难题、时间压力等。
但是我们团队密切合作、互相协助,最终克服了这些困难。
我们通过学习文档、查阅资料、请教老师等多种方式寻找解决方案,保证项目的顺利进行。
六、项目成果经过几个月的努力,我们成功完成了JavaEE实训项目,并取得了以下成果:1. 完成了在线购物网站的核心功能,并通过测试验证了系统的稳定性和安全性。
JavaEE项目开发实验报告

实验一 Struts框架技术及应用一、实验目的:掌握 Struts框架技术的原理及其在项目中的应用,掌握MVC 开发模式。
二、实验内容:创建一个用于本次和后续 Java EE 项目的名为te st 的数据库,并在数据库中创建一个名为u s er 的表,用于记录属于合法登录的用户信息:createtable user{id int auto_in cremen t not null,usernam e varchar(10) not null,passwor d varchar(10) not null,primary key(id)};1、参考教材 P25,创建一个Jav a EE 项目,通过JSP+JDBC 的方式实现用户登录和判断,并给出登陆成功或失败时相应的提示页面。
2、参考教材 P43,创建另一个Ja va EE 项目,通过JSP+Struts+JDBC 的方式进行登陆和判断。
比较和体会使用S truts之后与JSP+JDBC 的方式的区别。
3、在 JSP+Struts+JDBC 的实现方式下,于数据库中创建学生成绩表,实现学生成绩的增删改查等功能。
三、分析与设计过程:数据库建立1、用model1模式开发一个w eb登录程序,编写独立的Ja vaBean,通过JDBC访问test 数据库中的us er表来验证用户名和密码。
2、用model2模式开发一个w eb登录程序,页面效果与1的程序一样,改用Strut s2控制页面的跳转,数据库的访问方式不变(仍然通过JDB C)。
四、测试数据与运行结果:登录界面:登录成功界面:登录失败界面:五、附录:1、(1)连接数据库代码:package org.easyboo ks.booksto re.jsbc;importjava.sql.*;publicclass MySQLCo nnBean {private Stateme nt stmt = null;private Connect ion conn = null;ResultS et rs = null;//构造函数publicMySQLCo nnBean(){}publicvoid OpenCon n()throwsExcepti on{try{Class.forName("com.mysql.jdbc.Driver").newInst ance();Stringurl = "jdbc:mysql://localho st:3306/test";Stringuser = "root";Stringpasswor d = "root";conn = DriverM anager.getConn ection(url,user,passwor d);}catch(SQLExce ptione){System.err.println("Data.execute Query: " +e.getMess age());}}//执行查询类的S QL语句,有返回集publicResultS et execute Query(Stringsql){rs = null;try{stmt = conn.createS tateme nt(ResultS et.TYPE_SC ROLL_S ENSITI VE,ResultS et.CONCUR_UPDATA BLE); rs = stmt.execute Query(sql);}catch(SQLExce ptione){System.err.println("Data.execute Query: " +e.getMess age());}returnrs;}//关闭对象publicvoid closeSt mt(){try{stmt.close();}catch(SQLExce ptione){System.err.println("Date.execute Query: " +e.getMess age());}}publicvoid closeCo nn(){try{conn.close();}catch(SQLExce ptione){System.err.println("Data.execute Query: " +e.getMess age());}}}(2)验证登录<%@ page languag e="java" pageEnc oding="gb2312" import="java.sql.*"%> <jsp:useBean id="MySqlBe an" scope="page"class="org.easyboo ks.booksto re.jsbc.MySQLCo nnBean" /> class="org.easyboo ks.booksto re.jsbc.MySQLCo nnBean" /> <html><head><meta http-equiv="Content-Type"content="text/html;charset=gb2312"></head><body><%Stringusr=request.getPara meter("usernam e"); //获取提交的姓名Stringpwd=request.getPara meter("passwor d"); //获取提交的密码boolean validat ed=false; //验证成功标识//查询user表中的记录Stringsql="select* from user";MySqlBe an.OpenCon n(); //调用MySql Bean中加载JDBC驱动的方法ResultS et rs=MySqlBe an.execute Query(sql); //取得结果集while(rs.next()){if((rs.getStri ng("usernam e").compare To(usr)==0)&&(rs.getStri ng("passwor d").compare To(pwd)==0)){validat ed=true; //标识为true 表示验证成功通过}}rs.close();MySqlBe an.closeSt mt();MySqlBe an.closeCo nn();if(validat ed){//验证成功跳转到welcom e.jsp%><jsp:forward page="welcome.jsp"/><%}else{//验证失败跳转到error.jsp%><jsp:forward page="error.jsp"/><%}%></body></html>2、登录的acti onpackage org.easyboo ks.booksto re.action;importjava.sql.*;importorg.easyboo ks.booksto re.jdbc.MySQLCo nnBean;importcom.opensym phony.xwork2.ActionS upport;publicclass LoginAc tion extends ActionS upport {private Stringusernam e;private Stringpasswor d;publicStringexecute()throwsExcepti on{Stringusr = getUser name();Stringpwd = getPass word();boolean validat ed=false;MySQLCo nnBean MySqlBe an=new MySQLCo nnBean();Stringsql="select* from user";MySqlBe an.OpenCon n();ResultS et rs=MySqlBe an.execute Query(sql);while(rs.next()){if((rs.getStri ng("usernam e").compare To(usr)==0)&&(rs.getStri ng("p asswor d").compare To(pwd)==0)){validat ed=true;}}rs.close();MySqlBe an.closeSt mt();MySqlBe an.closeCo nn();if(validat ed){return"success";}else{return"error";}}publicvoid setUser name(Stringusernam e) {ernam e=usernam e;}publicStringgetUser name(){returnusernam e;}publicStringgetPass word(){returnpasswor d;}public void setPass word(Stringpasswor d) {this.passwor d=passwor d;}}实验二 Hiberna te 框架技术及应用一、实验目的:掌握 Hiberna te 框架技术的原理及其在项目中的应用,掌握ORM(对象关系映射)原理。
javaee实训报告总结

javaee实训报告总结一、引言本篇报告旨在总结我在JavaEE实训过程中的学习和实践经验,分享我对JavaEE技术的理解和应用能力的提升。
通过实训项目的开发,我对JavaEE的各个方面有了更深入的了解,并在实践中积累了丰富的经验。
本报告将从项目背景、项目需求、技术难点以及实战经验等方面进行总结。
二、项目背景在实训项目中,我们主要负责开发一个企业级的人力资源管理系统,该系统旨在帮助企业高效管理人力资源、提升员工工作效率。
本次实训开发的系统包含员工信息管理、薪资管理、考勤管理、培训管理和招聘管理等模块,功能复杂且需求繁多,对我们的技术能力提出了很大的挑战。
三、项目需求1. 员工信息管理模块在该模块中,我们需要实现员工的增删改查功能,包括员工的基本信息、部门信息以及职位信息的管理和展示。
2. 薪资管理模块薪资管理模块需要实现对员工薪资的核算、发放和统计分析。
管理员可以根据员工职位、工作时长等因素进行工资的计算,并能够生成相应的工资报表。
3. 考勤管理模块该模块需要实现对员工考勤记录的管理和统计。
管理员可以查看员工的考勤情况,包括迟到、早退、缺勤等信息,并能够生成相应的考勤报表。
4. 培训管理模块培训管理模块需要实现对员工培训计划的制定和培训记录的管理。
管理员可以制定培训计划,并查看员工的培训情况,以便对员工进行培训评估和晋升。
5. 招聘管理模块该模块需要实现对招聘信息和招聘流程的管理。
管理员可以发布招聘需求,管理招聘流程,并筛选合适的候选人。
四、技术难点在实训过程中,我遇到了一些技术难点,主要包括以下几个方面:1. 数据库设计与优化在项目开发过程中,合理且高效的数据库设计对系统性能至关重要。
我通过学习数据库设计原理和优化技巧,对系统数据库进行了合理设计和调优,提高了系统的运行效率。
2. MVC框架的应用MVC(Model-View-Controller)是一种软件设计模式,能够有效地分离出数据逻辑、界面展示和用户交互,提高系统的可维护性和可扩展性。
javaee实训报告总结
JavaEE实训报告总结一、实习目的与岗位认识本次JavaEE实训旨在让我们通过实践操作,深入理解JavaEE的相关知识和技能,提高我们解决实际问题的能力。
在实习过程中,我对于JavaEE开发岗位有了更深入的理解。
JavaEE作为企业级应用的主要技术框架,对于提高企业的软件研发效率和质量具有重要意义。
同时,JavaEE开发工程师在软件开发行业中扮演着重要的角色,他们需要具备扎实的Java基础、熟悉各种JavaEE框架,并能够根据业务需求进行高效的应用开发。
二、实习过程与问题解决在实习过程中,我主要参与了几个项目的开发和维护工作。
其中,最具挑战性的项目是一个基于Spring Boot和MyBatis的后台管理系统。
在这个项目中,我遇到了很多问题,如如何优化数据库查询性能、如何处理复杂的业务逻辑等。
通过查阅相关资料和请教同事,我逐渐找到了问题的解决方案。
例如,为了优化数据库查询性能,我学习了分页查询和索引优化的相关知识,并在项目中进行了实践。
同时,在处理复杂的业务逻辑时,我学会了将业务逻辑进行模块化处理,提高了代码的可读性和可维护性。
三、实习总结与不足建议通过本次JavaEE实训,我不仅提高了自己的技术水平,也收获了很多宝贵的经验。
首先,我认识到实践是检验真理的唯一标准,只有通过不断的实践,才能真正掌握和理解JavaEE的相关知识和技能。
其次,我明白了团队合作的重要性,只有和团队成员密切合作,才能高效地完成项目。
最后,我也发现了自己的不足之处,如对某些技术细节了解不够深入、沟通协调能力有待提高等。
针对这些不足,我建议自己要多加学习、勤于思考和实践,同时加强与同事的交流和合作。
四、对实习过程中的体会和收获在实习过程中,我深刻体会到了JavaEE开发的重要性和挑战性。
通过实际的项目开发,我不仅提高了自己的技术水平,也锻炼了自己的逻辑思维和解决问题的能力。
同时,我也认识到了团队合作的重要性,只有和团队成员共同协作,才能高效地完成项目。
javaee实训报告总结
javaee实训报告总结本次实训项目为JavaEE开发实训,旨在通过实践加深对JavaEE技术的理解与掌握。
在实训中,我们团队通过分阶段的任务和合理的组织,成功完成了一个基于JavaEE的Web应用的开发。
本文将对实训过程中的经验以及问题进行总结和反思,以期对今后的学习与工作有所借鉴。
一、需求分析在实训开始前,我们首先进行了需求分析。
通过与项目负责人的交流,我们明确了所开发应用的功能和要求。
然后,我们基于这些需求,制定了详细的开发计划和设计方案。
这个阶段主要目的是帮助我们对项目有一个整体的了解,并为后续的开发工作提供指导。
二、技术选型在需求分析之后,我们进行了技术选型。
根据项目的要求,我们决定使用JavaEE作为开发框架。
其优点在于强大的企业级开发能力以及丰富的开发组件。
另外,我们选择了MySQL作为数据库,并采用Spring MVC框架进行模型-视图-控制器的设计。
这些技术的选用是基于我们对项目需求的充分理解和对技术的全面考虑。
三、开发过程在实际的开发过程中,我们严格按照项目计划进行组织和协作。
首先,我们搭建了项目的基础环境,配置了所需的开发工具和开发环境。
然后,我们根据需求进行了详细的需求分析和数据库设计。
接下来,我们按照模块进行开发,每个人负责一个或多个模块的实现,通过持续的代码提交和团队内部交流,确保代码的质量和整体的进度。
四、问题与解决在开发过程中,我们也遇到了一些问题。
其中主要包括技术难题和人员调配问题。
对于技术难题,我们通过查阅资料、向老师请教以及内部团队讨论的方式解决了。
对于人员调配问题,我们通过灵活的分工和协作,最大程度地发挥每个人的优势。
五、项目总结经过几周的努力,我们成功地完成了JavaEE实训项目的开发。
通过这次实训,我们对JavaEE的技术有了更深入的理解,并学会了如何合作开发一个完整的Web应用。
同时,我们也认识到了团队合作的重要性,以及项目管理与组织的必要性。
这些经验对于我们今后的学习和工作都将起到巨大的帮助作用。
javaee实训报告
javaee实训报告介绍本文是关于JavaEE实训的报告,旨在总结和分享我在实训过程中所获得的经验和技能。
实训内容主要包括实际项目开发、团队合作以及技术应用等方面。
通过这次实训,我深刻理解了JavaEE的概念和应用,提升了自己的编程能力和团队协作能力。
一、实训背景本次实训是作为我大学课程的一部分,旨在提供给我一个实际项目开发的机会,实践所学的JavaEE知识。
实训项目是一个基于JavaEE 的电子商务网站,要求具备用户注册、商品浏览、购物车管理、订单处理等功能。
我被分配到一个三人团队中,并担任项目经理一职,负责整个项目开发的协调和管理。
二、需求分析在项目开始前,我们进行了详细的需求分析和讨论,根据客户的要求和功能需求,制定了详细的开发计划和任务分配。
我们明确了网站的用户角色、功能模块和技术要求,确保项目的顺利进行。
三、技术选型基于项目需求和我们团队的技术背景,我们选择了以下技术来完成项目的开发:1. 后端技术:JavaEE、Spring、MyBatis2. 前端技术:HTML、CSS、JavaScript、Bootstrap3. 数据库:MySQL四、开发过程在项目开发的过程中,我们按照敏捷开发的理念,采用迭代式的开发方式。
我们将整个开发过程分为多个迭代周期,每个周期内完成特定的功能开发、测试和优化。
1. 项目搭建:我们使用Maven构建项目,配置了所需的依赖和插件,并进行了目录结构的规划和配置。
同时,我们使用Git进行版本控制,确保团队成员之间的协作效率。
2. 数据库设计:根据需求分析阶段的结果,我们设计了合适的数据库结构,并使用MySQL进行建模和实现。
我们考虑了数据表的关系、索引和性能优化等因素。
3. 前端开发:我们使用HTML和CSS进行页面的设计和布局,并结合JavaScript和Bootstrap实现了用户界面的交互和响应。
我们注重页面的美观性和用户体验,提高了网站的易用性。
4. 后端开发:我们依托于JavaEE框架,使用Spring进行控制反转和依赖注入,并利用MyBatis实现了数据库的访问和操作。
javaee实训报告
javaee实训报告JavaEE 实训报告在当今数字化的时代,JavaEE 技术作为企业级应用开发的重要支柱,具有举足轻重的地位。
为了更深入地掌握这一技术,我参加了一次JavaEE 实训,通过这次实训,我不仅在技术层面上有了显著的提升,还在团队协作和问题解决能力方面获得了宝贵的经验。
本次实训的目标是让我们能够熟练运用 JavaEE 相关技术,开发出一个具有实际应用价值的企业级项目。
实训的内容涵盖了 JavaEE 体系中的多个重要技术点,包括 Servlet、JSP、JDBC、JavaBean 等。
在实训的开始阶段,我们首先对 JavaEE 的整体架构和核心概念进行了系统的学习。
通过理论知识的讲解和实际案例的分析,我逐渐理解了 JavaEE 多层架构的优势,以及如何在不同的层次中实现业务逻辑和数据处理。
在 Servlet 技术的学习中,我深刻体会到了其作为 Web 应用控制层的重要性。
通过编写 Servlet 程序,我们能够处理客户端的请求,并根据业务逻辑进行相应的响应。
例如,实现用户登录验证、数据查询和提交等功能。
在实际的编程过程中,我学会了如何获取请求参数、设置响应头和内容,以及如何与其他组件进行交互。
JSP(JavaServer Pages)作为视图层的技术,为我们提供了一种将动态内容与静态页面相结合的便捷方式。
通过在 JSP 页面中嵌入 Java代码片段和表达式,我们能够根据业务数据动态生成 HTML 页面。
这使得页面的展示更加灵活和个性化,同时也提高了开发效率。
在实际项目中,我们使用JSP 来构建用户界面,展示数据列表、表单等内容。
JDBC(Java Database Connectivity)则是连接数据库的关键技术。
在实训中,我们学习了如何使用JDBC 来连接数据库、执行SQL 语句、处理结果集等。
通过实际操作,我掌握了数据库的基本操作,如数据的增删改查,以及如何优化数据库访问以提高性能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
院系:计算机科学学院专业:年级:课程名称:组号:姓名(学号):指导教师:2015年月日2.登录界面和聊天登录输入:需要编码语言格式,将输入的内容转换成中文:6.会话输入及显示:String message=request.getParameter("message");try (PrintWriter out = response.getWriter()) {Login.jsp:<%@page contentType="text/html" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>JSP Page</title></head><%Cookie[] cookies =request.getCookies();String user1="",password1="";if(cookies !=null){for(int i=0;i<cookies.length;i++){if(cookies[i].getName().equals("username")){user1=cookies[i].getValue();user1=.URLDecoder.decode(user1,"UTF-8");request.getSession().setAttribute("user", user1);};if(cookies[i].getName().equals("password")){password1=cookies[i].getValue();password1=.URLDecoder.decode(password1,"UTF-8");request.getSession().setAttribute("password", password1);}}}%><body><form action="Main" name="login" method="post"><table width="52%" border="2" align="center"><h1 align="center"><b>欢迎登陆聊天室</b></h1><tr bgcolor="#FFFFCC"><td align="center" width="43%"><div align="center">用户名:</div></td> <td width="57%"> <div align="left"><input type="text" name="userID" value="${user}"> </div></td> </tr><tr bgcolor="#FFFFCC"><td align="center" width="43%"><div align="center">密码:</div></td><td width="57%"><div align="left"> <input type="password" name="password" value="${password}"> </div></td> </tr></table><p align="center"><input type="checkbox" name="remember" value="yes" />记住用户名和密码<input type="submit" name="tj" value="提交"><input type="reset" name="reset"></p></form></body></html>Main.javapackage com.login;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class Main extends HttpServlet {protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");try (PrintWriter out = response.getWriter()) {String userID=request.getParameter("userID");if(userID==null)userID="";String password=request.getParameter("password");if(password==null)password="";String remember=request.getParameter("remember");HttpSession session = request.getSession(true);if((userID.equals("纳洪泽")&&password.equals("1"))||(userID.equals("司少武")&&password.equals("2"))||(userID.equals("张宇")&&password.equals("3"))){session.setAttribute("user",userID);//保存名字到sessionif(remember!=null&&remember.equals("yes")){userID=.URLEncoder.encode(userID,"UTF-8");password=.URLEncoder.encode(password,"UTF-8");int maxAge = 10000;Cookie usernameCookie=new Cookie("username",userID);Cookie passwordCookie=new Cookie("password",password);usernameCookie.setPath(request.getContextPath());passwordCookie.setPath(request.getContextPath());usernameCookie.setMaxAge(maxAge);passwordCookie.setMaxAge(maxAge);response.addCookie(usernameCookie);response.addCookie(passwordCookie);}RequestDispatcher dispatcher=request.getRequestDispatcher("LoginSuccess");dispatcher.forward(request,response);}else{RequestDispatcher dispatcher=request.getRequestDispatcher("LoginFail");dispatcher.forward(request,response);}}}NEWlogin.javapackage com.login;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet(name = "NEWlogin", urlPatterns = {"/NEWlogin"})public class NEWlogin extends HttpServlet {protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");try (PrintWriter out = response.getWriter()) {/* TODO output your page here. You may use following sample code. */out.println("<!DOCTYPE html>");out.println("<html>");out.println("<head>");out.println("<title>Servlet NEWlogin</title>");out.println("</head>");out.println("<frameset cols=36%,*>");out.println("<frame src=\"chatLog\" noresize=\"noresize\">");out.println("<frame src=\"Login.jsp\" noresize=\"noresize\">");out.println("<body>");out.println("</body>");out.println("</html>");}}LoginSuccess.javapackage com.login;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LoginSuccess extends HttpServlet {protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");try (PrintWriter out = response.getWriter()) {/* TODO output your page here. You may use following sample code. */String name=request.getParameter("userID");out.println("<!DOCTYPE html>");out.println("<html>");out.println("<head>");out.println("<title>您已登录聊天窗口</title>");out.println("</head>");out.println("<frameset cols=100%,*>");out.println("<frame src=\"sendMessage\">");out.println("</frameset>");out.println("</html>");out.close();}}LoginFail.javapackage com.login;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LoginFail extends HttpServlet {protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");try (PrintWriter out = response.getWriter()) {/* TODO output your page here. You may use following sample code. */out.println("<!DOCTYPE html>");out.println("<html>");out.println("<head>");out.println("<title>登录失败</title>");out.println("</head>");out.println("<body>");out.println("<center><h1>信息错误请重新登陆</h1></center>");RequestDispatcher dispatcher=request.getRequestDispatcher("Login.jsp");dispatcher.include(request,response);out.println("</body>");out.println("</html>");out.close();}}chatLog.javapackage com.login;import java.io.IOException;import java.io.PrintWriter;import static ng.System.out;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class chatLog extends HttpServlet {protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");String recordList=( String) getServletContext().getAttribute("recordList");if(recordList==null){recordList="";}response.setHeader("Refresh", "1");try (PrintWriter out = response.getWriter()) {/* TODO output your page here. You may use following sample code. *///String message=request.getParameter("message");out.println("<!DOCTYPE html>");out.println("<html>");out.println("<head>");out.println("<title>Servlet chatLog</title>");out.println("</head>");out.println("<body>");out.println("<h4><i><color=DarkOrchid>聊天记录</color></i></h4>");out.println("<div >" + recordList + "</div> ");out.println("</body>");out.println("</html>");}}private List ArrayList() {throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.}}sendMessagepackage com.login;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class sendMessage extends HttpServlet {protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {HttpSession session = request.getSession(true);request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");String message=request.getParameter("message");try (PrintWriter out = response.getWriter()) {/* TODO output your page here. You may use following sample code. */String username=(String)session.getAttribute("user");String recordList=(String) getServletContext().getAttribute("recordList");if(recordList==null){recordList="";}if(message!=null){String oneRecord = "<p>" + username +"说:"+ message + "</p>";recordList +=oneRecord;}getServletContext().setAttribute("recordList", recordList);//getServletContext().setAttribute("username", username);out.println("<!DOCTYPE html>");out.println("<html>");out.println("<head>");out.println("<title>Servlet sendMessage</title>");out.println("</head>");out.println("<body>");out.println("<form action=\"\" name=\"sendMessage\" method=\"post\">");out.println("<center><textarea rows=\"15\" cols=\"100\" name=\"message\">");out.println("</textarea></center>");out.println("<div align=\"right\">");out.println("<tr>");out.println("<input type=\"submit\" name=\"send\" value=\"发送\">");out.println("<input type=\"reset\" name=\"reset\">");out.println("<a href=\"http://localhost:8080/chatRoom/Login.jsp\">返回</a>");out.println("</tr>");out.println("</form>");out.println("</body>");out.println("</html>");}}。