javaee大作业
- 格式:doc
- 大小:7.47 MB
- 文档页数:30
javaee代码练习题在日常的JavaEE开发中,通过进行代码练习可以帮助我们加深对于JavaEE技术的理解和应用。
本文将介绍一些常见的JavaEE代码练习题,帮助读者提升自己的编程能力和解决实际开发中的问题。
一、登录注册模块1. 设计一个简单的登录注册系统,要求用户能够通过输入用户名和密码进行登录,并且能够进行用户注册。
登录成功后显示欢迎信息,登录失败显示错误信息。
2. 在登录注册系统的基础上,要求在注册时添加验证码功能,用户需要输入正确的验证码才能完成注册。
二、数据存储与管理1. 创建一个学生信息管理系统,实现学生信息的增删改查功能。
要求使用JDBC连接数据库,能够完成对学生信息的增加、删除、修改和查询功能。
2. 在学生信息管理系统的基础上,要求使用连接池技术来管理数据库连接,提高系统的性能。
三、权限管理1. 设计一个简单的权限管理系统,包括用户、角色和权限的管理。
用户可以拥有一个或多个角色,角色可以拥有一个或多个权限。
要求能够根据用户ID查询用户拥有的权限。
2. 在权限管理系统的基础上,要求实现用户登录后根据权限动态展示菜单,不同权限的用户能够看到不同的菜单项。
四、文件上传与下载1. 实现文件上传功能,用户可以选择本地文件进行上传,并将文件保存到服务器指定的路径下。
2. 实现文件下载功能,用户可以选择服务器上的文件进行下载,下载的文件保存到本地指定的路径下。
五、邮箱验证1. 实现用户注册时的邮箱验证功能,用户注册成功后通过邮箱发送激活链接,用户点击激活链接完成账号激活。
2. 增加邮箱找回密码功能,用户可以通过输入注册时的邮箱进行密码找回。
六、权限认证1. 实现基于过滤器的权限认证功能,对于指定的URL进行访问控制,只有拥有相应权限的用户才能够访问。
2. 对于没有登录的用户,重定向到登录页面进行登录。
七、在线聊天室1. 实现一个简单的在线聊天室,使用WebSocket来实现实时聊天的功能。
2. 聊天室中可以有多个用户同时在线,用户之间可以发送文本消息进行交流。
java课程设计大作业近年来,随着互联网技术的高速发展,计算机科学成为当今社会中极其重要的一个学科,许多大学都开设了关于计算机科学的专业课程。
而随之而来的,就是计算机相关的课程设计大作业。
Java是一种计算机语言,它的许多优良特性,使它受到越来越多学术界及企业界的青睐和关注。
在计算机科学中,Java编程语言被许多学校广泛应用,学生们的课程设计作业也大多使用Java来完成。
课程设计作业是计算机科学学习的重要组成部分,也是学习Java 编程语言的重要途径。
Java课程设计大作业主要用于开发一个完整的软件系统,包括设计程序要求、实现用户界面、执行测试以及最终的运行和部署等。
它的设置目的,是希望学生在规定的时间内,利用学到的知识和技能,能够独立进行系统软件的开发。
完成Java课程设计大作业,需要做到以下几点:首先,重要的是要明确自己的课程设计任务,把握自己课程设计可以做到什么程度;其次,要学会深入研究计算机编程语言,特别是Java,了解其内部架构原理;第三,要熟悉开发软件系统流程,明确项目的实施步骤,确保能按时完成;最后,要学会如何使用工具,比如Java语言的开发工具,来提高编程效率。
完成Java课程设计大作业对于学生而言,除了帮助学生深入学习Java编程语言外,还可以提升学生的项目管理能力。
它可以帮助学生掌握有关软件设计、开发、测试、部署的流程以及整个软件生命周期的管理知识,让学生以后更容易找到工作,并能够更好地完成软件项目任务。
总之,完成Java课程设计大作业,不仅可以提高学生的Java编程能力,而且还可以帮助他们提升项目管理能力,为他们以后的工作打好基础。
随着技术的不断发展,Java课程设计大作业也将变得越来越重要。
JA V A & J2EE大作业——学生信息管理系统/src/beanFind.javapackage bean;import java.io.File;import java.io.IOException;import java.util.Iterator;import javax.servlet.jsp.JspWriter;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class Find {public String[] find(String id,String name,JspWriter out,String studentInfoPath) throws DocumentException, IOException{SAXReader saxReader = new SAXReader();Document document = saxReader.read(new File(studentInfoPath));Element root = document.getRootElement();String[]str=new String[7];int j=0;//遍历根结点(students)的所有孩子节点(肯定是student节点)boolean flagid,flagname;for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){out.print("<tr>");int i=0;Element element = (Element) iter.next();flagid=false;flagname=false;//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理Iterator<?> iterInner = element.elementIterator();Element elementInner = (Element) iterInner.next();if(elementInner.getText().equals(id)){flagid=true;}elementInner = (Element) iterInner.next();if(elementInner.getText().equals(name)){flagname=true;}if(id!=null&&name!=null){if(flagid&&flagname){j++;for ( Iterator<?> iterInner1 = element.elementIterator(); iterInner1.hasNext(); ){Element elementInner1 = (Element) iterInner1.next();str[i]=elementInner1.getText();out.print("<th>"+elementInner1.getText()+"</th>");i++;}break;}}else if(name!=null&&id==null){if(flagname){j++;for ( Iterator<?> iterInner1 = element.elementIterator(); iterInner1.hasNext(); ){Element elementInner1 = (Element) iterInner1.next();str[i]=elementInner1.getText();out.print("<th>"+elementInner1.getText()+"</th>");i++;}}}else if(id!=null&&name==null){if(flagid){j++;for ( Iterator<?> iterInner1 = element.elementIterator(); iterInner1.hasNext(); ){Element elementInner1 = (Element) iterInner1.next();str[i]=elementInner1.getText();out.print("<th>"+elementInner1.getText()+"</th>");i++;}break;}}else{break;}out.print("</tr>");}str[6]=j+"";return str;}}ReadUserInfo.javapackage bean;import java.io.IOException;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.util.LinkedList;public class ReadUserInfo {//文件中读取出的用户信息LinkedList<String> nameList = new LinkedList<String>();LinkedList<String> passList = new LinkedList<String>();// StringTokenizer相关变量String temp;String[] st;//用来保存用户输入信息String username;String password;public String getUsername(){return username;}public void setUsername(String username){ername = username;}public String getPassword(){return password;}public void setPassword(String password){this.password = password;}public LinkedList<String> getNameList(){return nameList;}public LinkedList<String> getPassList(){return passList;}public void read(String path) throws IOException{File file = new File(path);BufferedReader br = new BufferedReader(new FileReader(file));while ((temp = br.readLine()) != null){st =temp.split(",");nameList.add(st[0]);passList.add(st[1]);}}public boolean checknp(String name,String pass){LinkedList<String> nlist = getNameList();LinkedList<String> plist = getPassList();if(!nlist.contains(name) || !plist.contains(pass)){return false;}if(nlist.indexOf(name) != plist.indexOf(pass)){return false;}return true;}}XmlPage.javapackage bean;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.Iterator;import java.util.List;import javax.servlet.jsp.JspWriter;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;public class XmlPage {public void Edit(String user,String Id,String Name,String Age,String Gender,String Email,String Java,String studentInfoPath) throws DocumentException, IOException {SAXReader reader = new SAXReader();Document document = reader.read(new File(studentInfoPath));Element root = document.getRootElement();Element element = null ;for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){element = (Element) iter.next();//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理Iterator<?> iterInner = element.elementIterator();Element elementInner = (Element) iterInner.next();if(elementInner.getText().equals(user))break;}if(!Id.isEmpty())element.element("id").setText(Id);if(!Name.isEmpty())element.element("name").setText(Name);if(!Age.isEmpty())element.element("age").setText(Age);if(!Gender.isEmpty())element.element("gender").setText(Gender);if(!Email.isEmpty())element.element("email").setText(Email);if(!Java.isEmpty())element.element("java").setText(Java);OutputFormat out = new OutputFormat(" ", true, "utf-8");XMLWriter writer = new XMLWriter(new FileOutputStream(studentInfoPath),out);writer.write(document);writer.close();}public boolean check(String id,String studentInfoPath) throws DocumentException{SAXReader reader = new SAXReader();Document document = reader.read(new File(studentInfoPath));Element root = document.getRootElement();boolean flag=true;for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){Element element = (Element) iter.next();//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理Iterator<?> iterInner = element.elementIterator();Element elementInner = (Element) iterInner.next();if(elementInner.getText().equals(id)){flag=false;break;}}return flag;}public void add(String Id,String Name,String Age,String Gender,String Email,String Java,String studentInfoPath) throws Exception {SAXReader reader = new SAXReader();Document document = reader.read(new File(studentInfoPath));Element root = document.getRootElement();Element parent = root.addElement("student");Element id= parent.addElement("id");id.setText(Id);Element name = parent.addElement("name");name.setText(Name);Element age= parent.addElement("age");age.setText(Age);Element gender = parent.addElement("gender");gender.setText(Gender);Element email = parent.addElement("email");email.setText(Email);Element java = parent.addElement("java");java.setText(Java);OutputFormat out = new OutputFormat(" ", true, "utf-8");XMLWriter writer = new XMLWriter(new FileOutputStream(studentInfoPath),out);writer.write(document);writer.close();}public void Del(String id,String studentInfoPath) throws Exception {SAXReader reader = new SAXReader();Document document = reader.read(new File(studentInfoPath));Element root = document.getRootElement();Element element = null ;for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){element = (Element) iter.next();//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理Iterator<?> iterInner = element.elementIterator();Element elementInner = (Element) iterInner.next();if(elementInner.getText().equals(id))break;}root.remove(element);OutputFormat out = new OutputFormat(" ", true, "utf-8");XMLWriter writer = new XMLWriter(new FileOutputStream(studentInfoPath), out);writer.write(document);writer.close();}public void Reader(int diPage,int pageFileSize,JspWriter out,String studentInfoPath) throws DocumentException, IOException{SAXReader saxReader = new SAXReader();Document document = saxReader.read(new File(studentInfoPath));Element root = document.getRootElement();// 用于记录学生编号的变量int num=0;//遍历根结点(students)的所有孩子节点(肯定是student节点)for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){out.print("<tr>");num++;Element element = (Element) iter.next();if(num>=(diPage*pageFileSize-(pageFileSize-1))&&num<=diPage*pageFileSize){//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理for ( Iterator<?> iterInner = element.elementIterator(); iterInner.hasNext(); ){Element elementInner = (Element) iterInner.next();out.print("<th>"+elementInner.getText()+"</th>");}}out.print("</tr>");}}public int Count(String studentInfoPath) throws DocumentException{SAXReader saxReader = new SAXReader();Document document = saxReader.read(new File(studentInfoPath));List<?> list = document.selectNodes("/students/student");int num = list.size();return num;}}/src/filterAuthorityFilter.javapackage filter;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class AuthorityFilter implements Filter{//FilterConfig可用于访问Filter的配置信息private FilterConfig config;//实现初始化方法public void init(FilterConfig config){this.config = config;}//实现销毁方法public void destroy(){this.config = null;}//执行过滤的核心方法public void doFilter(ServletRequest request,ServletResponse response, FilterChain chain)throws IOException,ServletException{//---------下面代码用于对用户请求执行预处理---------//获取ServletContext对象,用于记录日志ServletContext context = this.config.getServletContext();long before = System.currentTimeMillis();System.out.println("开始过滤...");//获取该Filter的配置参数String encoding = config.getInitParameter("encoding");String loginPage = config.getInitParameter("loginPage");String loginServlet = config.getInitParameter("loginServlet");String addsuccess = config.getInitParameter("addsuccess");String changePage = config.getInitParameter("changePage");String changesuccess = config.getInitParameter("changesuccess");String delete = config.getInitParameter("delete");//设置request编码用的字符集request.setCharacterEncoding(encoding);HttpServletRequest requ = (HttpServletRequest)request;HttpSession session = requ.getSession(true);//输出提示信息System.out.println("Filter已经截获到用户的请求的地址:" +requ.getServletPath());System.out.println("user:" +session.getAttribute("user"));//获取客户请求的页面String requestPath = requ.getServletPath();//如果session范围的user为null,即表明没有登录//且用户请求的既不是登录页面,也不是处理登录的页面if( session.getAttribute("user") == null&& !requestPath.endsWith(loginPage)&& !requestPath.endsWith(loginServlet)){request.setAttribute("tip", "nologin");request.getRequestDispatcher("/login.jsp").forward(request, response);}/*else if(requestPath.endsWith(addsuccess)||requestPath.endsWith(changePage)||requestPath.endsWith(changesuccess)||requestPath.endsWith(delete)){request.setAttribute("tip", "stop");request.getRequestDispatcher("/studentInfoDisplay.jsp").forward(request, response);}*///"放行"请求else{chain.doFilter(request, response);}//---------下面代码用于对服务器响应执行后处理---------long after = System.currentTimeMillis();//输出提示信息System.out.println("过滤结束");//输出提示信息System.out.println("请求被定位到" + ((HttpServletRequest) request).getRequestURI() +" 所花的时间为: " + (after - before));System.out.println("Session.tip:"+session.getAttribute("tip"));System.out.println("er:"+session.getAttribute("user"));}}/src/sevrvletLoginServlet.javapackage sevrvlet;import java.io.IOException;import java.io.PrintWriter;import javax.mail.Session;import javax.servlet.RequestDispatcher;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.jboss.weld.context.SessionContext;import bean.ReadUserInfo;public class LoginServlet extends HttpServlet {/*** Constructor of the object.*/public LoginServlet() {super();}/*** Destruction of the servlet. <br>*/public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {ReadUserInfo r = new ReadUserInfo();r.read(request.getSession().getServletContext().getRealPath("")+"\\WEB-INF\\users.txt");String username = request.getParameter("username");String password = request.getParameter("password");HttpSession session = request.getSession(true);//RequestDispatcher dis = null;PrintWriter out = response.getWriter();if(!r.checknp(username,password)){out.print("<script>alert('Wrong username or password');location.href='../login.jsp';</script>");//dis = request.getRequestDispatcher("../login.jsp");}else{session.setAttribute("user", username);System.out.println("LoginServlet tip:"+session.getAttribute("tip"));//out.print("<script>alert('z!');location.href='../index.jsp';</script>");//dis = request.getRequestDispatcher("../studentInfoDisplay.jsp");out.print("<script>location.href='../studentInfoDisplay.jsp';</script>");}//dis.forward(request, response);}/*** Initialization of the servlet. <br>** @throws ServletException if an error occurs*/public void init() throws ServletException {// Put your code here}}/src/tagIteratorTag.javapackage tag;import java.io.IOException;import java.util.Collection;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.SimpleTagSupport;public class IteratorTag extends SimpleTagSupport {private String collection;private String item;//collection的setter与getter函数public void setCollection(String conllection){this.collection = conllection;}public String getCollection(){return this.collection;}//item的setter与getter函数public void setItem(String item){this.item = item;}public String getItem(){return item;}@Overridepublic void doTag() throws JspException, IOException {// TODO Auto-generated method stubCollection itemlist = (Collection)getJspContext().getAttribute(collection);for(Object itemTemp : itemlist){getJspContext().setAttribute(item, itemTemp);getJspBody().invoke(null);}}/srcmytaglib.tld<?xml version="1.0"encoding="GBK"?><taglib xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"version="2.0"><tlib-version>1.0</tlib-version><short-name>mytaglib</short-name><!-- 定义该标签库的URI --><uri>/mytaglib</uri><tag><!-- 定义标签名 --><name>iterator</name><!-- 定义标签处理类 --><tag-class>tag.IteratorTag</tag-class><!-- 定义标签体支持JSP脚本 --><body-content>scriptless</body-content><!-- 配置标签属性:collection --><attribute><name>collection</name><required>true</required><fragment>true</fragment></attribute><!-- 配置标签属性:item --><attribute><name>item</name><required>true</required><fragment>true</fragment></attribute></tag></taglib>/WebRootadd.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>添加信息</title></head><body><%-- <% if(request.getAttribute("tip") != null && request.getAttribute("tip").equals("stop")){request.removeAttribute("tip");out.print("<script>alert('不能直接访问该网页');</script>");}%> --%><center><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><form action = "addsuccess.jsp"method = "post">请输入学生信息:<br><br>姓 名:<input type= "text"name="name"style = "width = 165px;height = 22px;"value=""/><br><br>学 号:<input type= "text"name="id"style= "width = 165px;height = 22px;"value=""/><br><br>年 龄:<input type= "text"name="age"style = "width = 165px;height = 22px;"value=""/><br><br>性 别:<input type= "text"name="gender"style style = "width = 165px;height = 22px;"value=""/><br><br>email:<input type= "text"name="email"style= "width= 165px;height = 22px;"value=""/><br><br>java :<input type= "text"name="java"style= "width= 165px;height = 22px;"value=""/><br><br><input type="submit"value="添加"/> <a href="studentInfoDisplay.jsp">返回</a></form></center></body></html>addsuccess.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>find</title></head><body><%//System.out.println("11213213");if(application.getAttribute("lock") == "true"){out.print("<script>alert('他人正在操作中');location.href='studentInfoDisplay.jsp';</script>");}else{application.setAttribute("lock", "true");}%><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><%String Id=request.getParameter("id"),Name=request.getParameter("name"),Age=request.getParameter("age"),Gender=request.getParameter("gender"),Email=request.getParameter("email"),Java=request.getParameter("java");//Name= new String(Name.getBytes("ISO8859_1"), "GBK");//Gender= new String(Gender.getBytes("ISO8859_1"), "GBK");System.out.println(request.getRealPath("/WEB-INF/students.xml")) ;if(Id.isEmpty()||Name.isEmpty()||Age.isEmpty()||Gender.isEmpty() ||Email.isEmpty()||Java.isEmpty()){application.setAttribute("lock", "false");out.print("<script>alert('学生信息未填写完整!');location.href='add.jsp';</script>");}else{if(testBean.check(Id,request.getRealPath("/WEB-INF/students.xml"))) {testBean.add(Id, Name, Age, Gender, Email, Java,request.getRealPath("/WEB-INF/students.xml"));application.setAttribute("lock", "false");out.print("<script>alert('成功添加!');location.href='studentInfoDisplay.jsp';</script>");}else{application.setAttribute("lock", "false");out.print("<script>alert('该学生已存在!');location.href='add.jsp';</script>");}}%></body></html>change.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>修改信息</title></head><body><%-- <% if(request.getAttribute("tip") != null && request.getAttribute("tip").equals("stop")){request.removeAttribute("tip");out.print("<script>alert('不能直接访问该网页');</script>");}%> --%><center><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><form action = "changesuccess.jsp"method = "post"><!-- 并发操作安全性代码 --><%String id=session.getAttribute("id").toString(),name=session.getAttribute("name").toString(),age=session.getAttribute("age").toString(),gender=session.getAttribute("gender").toString(),email=session.getAttribute("email").toString(),java=session.getAttribute("java").toString();%>在要修改处输入修改后信息:<br><br>姓 名:<input type= "text"name="name"style= "width = 165px;height = 22px;"value=<%=name%>><br><br>学 号:<input type= "text"name="id"style = "width = 165px;height = 22px;"value=<%=id %>><br><br>年 龄:<input type= "text"name="age"style = "width = 165px;height = 22px;"value=<%=age %>><br><br>性 别:<input type= "text"name="gender"style = "width = 165px;height = 22px;"value=<%=gender%>><br><br>email:<input type= "text"name="email"style= "width= 165px;height = 22px;"value=<%=email%>><br><br>java :<input type= "text"name="java"style= "width=165px;height = 22px;"value=<%=java%>><br><br><input type="submit"value="更改"/> <a href="studentInfoDisplay.jsp">返回</a></form></center></body></html>changesuccess.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"> <title>find</title></head><body><%System.out.println("11213213");if(application.getAttribute("lock") == "true"){out.print("<script>alert('他人正在操作中');location.href='change.jsp';</script>");}else{application.setAttribute("lock", "true");}%><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><%String user=session.getAttribute("id").toString();String Id=request.getParameter("id"),Name=request.getParameter("name"),Age=request.getParameter("age"),Gender=request.getParameter("gender"),Email=request.getParameter("email"),Java=request.getParameter("java");//Name= new String(Name.getBytes("ISO8859_1"), "GBK");//Gender= new String(Gender.getBytes("ISO8859_1"), "GBK");%><%if(!Id.equals(user)){if(testBean.check(Id,request.getRealPath("/WEB-INF/students.xml"))) {testBean.Edit(user,Id, Name, Age, Gender, Email, Java,request.getRealPath("/WEB-INF/students.xml"));application.setAttribute("lock", "false");out.print("<script>alert('成功更改!');location.href='studentInfoDisplay.jsp';</script>");}else{application.setAttribute("lock", "false");out.print("<script>alert('该学生已存在!');location.href='change.jsp';</script>");}}else{testBean.Edit(user,Id, Name, Age, Gender, Email, Java,request.getRealPath("/WEB-INF/students.xml"));application.setAttribute("lock", "false");out.print("<script>alert('成功更改!');location.href='studentInfoDisplay.jsp';</script>");}%></body></html>delete.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>删除</title></head><body><%if(application.getAttribute("lock") == "true"){out.print("<script>alert('他人正在操作中');location.href='studentInfoDisplay.jsp';</script>");}else{application.setAttribute("lock", "true");}%><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><%String id=session.getAttribute("id").toString();%><%testBean.Del(id,request.getRealPath("/WEB-INF/students.xml")); %><%application.setAttribute("lock", "false");out.print("<script>alert('成功删除!');location.href='studentInfoDisplay.jsp';</script>");%></body></html>find.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>查找</title></head><body><%-- <% if(request.getAttribute("tip") != null &&。
个人通讯录管理系统参与设计人员:姓名:班级:学号:石磊计算机26班 2120505140尹畅畅计算机26班 2120505145赵禹计算机26班 2120505148目录1 绪论1.1 设计目的1.2 设计内容2 程序需求分析3 算法分析3.1 程序总体设计思想1 绪论1.1 设计目的学习完java课程后,进行的一次全面的综合练习,旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力。
1.2 设计内容在设计一个完整的系统中,我从系统的管理员登录界面开始做,另外依据相关要求,对系统增加了数据库支持(Microsoft Access做的数据库)。
为了保证数据库的安全,在系统中设立了管理员权限,即只有被允许的用户才可以进入该系统。
2 程序需求分析设计一个通讯录管理软件,要求如下:增加记录、删除记录、显示所有记录、查询记录、退出。
通讯录记录信息包括:姓名,电话等。
(1)通讯录的每一条信息包括姓名,单位,电话(可用数组或数据库);(2)输入功能:可以一次完成若干条信息的输入;(3)显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示);(4)查找功能:完成按姓名查找通讯信息;(5)删除功能:完成按姓名删除通讯信息;3 算法分析3.1 程序总体设计思想个人通讯录件的功能模块有:(1)提供登陆界面,方便用户进入,满足需求;(2)添加:可以添加通讯录记录,依次输入姓名、电话;(3)显示:可以以表格形式输出所有通讯录里的记录;(4)查询:可以用姓名查询;(5)修改:直接进行修改即可(6)删除:可以直接删除多余的通讯录记录;程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。
Java语言程序设计展示报告学院专业组长信息组员信息1组员信息2组员信息3指导教师日期年月日目录第一章选题概述 (1)第二章完成情况 (2)第三章成果展示 (3)一、登陆注册界面展示 (3)1、效果截图 (3)2、核心代码 (4)二、客户端界面展示 (5)1、效果截图 (8)2、核心代码 (8)三、服务端界面展示 (4)1、效果截图 (3)2、核心代码 (3)四、数据库直连和文件线程 (10)第四章总结与感受 (12)第一章选题概述在一学期的Java课程学习之后,我们对Java语言有了一定的认识与了解。
在此基础上我们选择了题目一作为本组的目标,题目的相关要求如下(初期拟完成目标):设计编程实现桌面文档共享与管理系统(100%)实现以下功能--1.能够实现文件的下载与上传(客户端与服务器端)2.能够通过安全认证与别人分享文档3.能形成“圈子”,对朋友或这陌生人设置不同的安全级别4.能够共享桌面与聊天5.必须用数据库存储信息6.必须用extends 和implements 关键字7.必须用this关键字8.必须用图形用户界面9.界面设计与功能不限,充分发挥题目一比较有挑战性,题目中的要求几乎涉及到了我们学过的所有知识,除此之外还需要我们课外学习一些课堂额外的知识,比如数据库的创建于连接。
由组长XXX1负责整合所学内容与指挥,组员查阅资料并编写程序,再和组长讨论并完成各自的模块设计。
我们设计了如下的流程图:图1-1 流程图第二章完成情况经过将近一个月左右的编程设计,我们实现的桌面文档共享与管理系统(90%)实现了以下功能--1.能够实现文件的上传(客户端与服务器端)2.能够通过安全认证与别人分享文档3.能形成“圈子”,对朋友或这陌生人设置不同的安全级别4.能够聊天并截取屏幕信息5.采用了数据库存储信息6.采用了extends 和implements 关键字7.采用了this关键字8.采用了图形用户界面程序的编程设计图2-1 类成果展示图其中jp.java功能为截图;khd.java功能为建立客户端;sc.java 功能为文件上传线程;zc.java功能为实现用户登录;Main功能为总体调用;fwq.java功能为建立服务端;User.java功能为实现与数据库的连接(直连)。
javaee实验报告总结以下是一份由Java EE实验报告总结所组成的文章:Java EE实验报告总结一、引言Java EE(Java Platform, Enterprise Edition)是Java平台的一部分,专门用于开发和部署企业级应用程序。
在本次实验中,我们学习了Java EE 的基本概念和各个组件的使用方法,并通过实践项目来巩固所学的知识。
本文将对实验过程与结果进行总结,并提出一些建议。
二、实验过程1. 实验目标本次实验旨在使学生了解Java EE的基本概念,掌握Servlet、JSP、EJB 等组件的开发与部署方法,以及使用Tomcat和Glassfish等服务器进行应用程序的部署。
2. 实验步骤本次实验分为三个阶段,分别是Servlet、JSP和EJB的开发与部署。
a. Servlet开发与部署首先,我们学习了Servlet的基本概念,并使用Eclipse IDE进行开发。
我们创建了一个HelloWorldServlet,并部署到Tomcat服务器上进行测试。
通过这个实验,我们深入理解Servlet的工作原理以及HTTP协议。
b. JSP开发与部署其次,我们学习了JSP的基本语法和用法,并结合Servlet进行动态网页的开发。
我们创建了一个简单的登录页面,并使用JSP和Servlet实现用户登录功能。
这个实验使我们熟悉了JSP的模板引擎特性以及与Java代码的交互方式。
c. EJB开发与部署最后,我们学习了EJB(Enterprise JavaBeans)的基本概念和使用方法。
我们创建了一个简单的用户管理系统,使用EJB实现对用户信息的增删改查功能。
通过这个实验,我们了解了EJB的分层和事务管理的特性。
3. 实验结果通过本次实验,我们成功完成了三个阶段的开发与部署,并测试了各个组件的功能。
我们的应用程序能够正确地响应用户请求并返回相应的结果。
实验结果表明,所学习的Java EE知识能够实现企业级应用的开发需求。
J2EE大作业和报告基本要求:大作业是以J2EE主要技术的综合应用效果为考评依据,包括JSP、Servlet、JDBC、Hibernate、Struts或EJB技术。
要求学生以1-3人为单元,提交作品和文档。
小组中每个同学分别承担不同的模块任务,并以此为个人考评成绩的主要内容。
有完整调试、演示的作品将得到特殊加分。
具体要求:1.界面简洁,友好,符合实际需要;2.通过树状功能描述,进行功能分析;3.数据设计可以采用SQL Server 2000或2005,也可以采用MySQL数据库;4.针对各种配置文件,有分析和说明,不能出现光秃秃的单独配置文件;5.对系统所使用的运行环境有比较清楚的阐述;6.关键技术要求对所使用的J2EE技术有理论和应用角度的分析;7.总结要求对调试过程中的问题有测试和解决方法的说明;8.最后一周进行答辩和验收。
分数分布:(1)所提交大作业,要求使用到J2EE开发的某一主要技术,包括JSP、Servlet、JDBC、Hibernate、Struts或EJB技术。
(10分)(2)作品做到能演示(30分);(3)文档要求:⏹功能分析符合要求(10分),其他酌情次之;⏹数据库设计完整,页面测试正确(10分),其他酌情次之;⏹作品实现(包含配置和截图),有技术、有环境配置,有功能测试(20分),其他情况酌情次之;⏹关键技术阐述正确,重点突出,简明扼要(15分),其他酌情次之;⏹总结中,对开发过程中的问题阐述清楚,切中要害,提出了合理解决方案(5分),其他酌情次之。
要求缴付电子文档(PPT、作品代码和报告文档)及纸质的文档材料作为考评材料。
电子文档一律采用Office2003的Word工具编写。
参考书目:关键词可以是Eclipse、J2EE、Struts、Hibernate、EJB、JDBC等方面的书均可参考。
Java 大作业
1. 简介
本文档介绍了 Java 大作业的相关内容。
大作业要求学生使用Java 编程语言完成一个项目,并展示他们在该语言中的理解和应用能力。
2. 项目要求
- 使用 Java 编程语言完成一个具有一定规模的项目。
- 项目需具备合理的功能和逻辑。
- 项目需涉及多个核心概念和技术,如面向对象编程、数据结构、异常处理等。
- 项目需包括合适的用户界面,方便用户进行交互。
- 项目需具备一定的代码质量和可读性,包括注释和合理的命名等。
3. 提交要求
- 项目代码需提交到指定的代码托管平台或版本控制系统中。
- 需提交一个包含完整项目源代码的压缩文件。
- 需提供一个简短的项目文档,介绍项目的功能、使用方法和技术实现等。
- 项目文档需以 PDF 格式提交。
4. 评分标准
根据以下几个方面对大作业进行评分:
- 功能完整性:项目是否达到预期功能要求。
- 代码质量:代码是否规范、可读性好。
- 技术实现:项目是否运用了适当的技术和概念。
- 用户界面:界面是否友好易用。
- 文档质量:项目文档是否清晰、详细。
5. 时间安排
- 大作业项目开始日期:{起始日期}
- 大作业项目截止日期:{截止日期}
- 提交截止日期:{提交截止日期}
- 评分公布日期:{公布日期}
6. 联系方式
如有任何问题或疑问,请及时与任课老师联系。
附录。
课程:Java程序设计与应用开发题目:登录系统与钟表实现班级:XXXXXXXXXX学号:XXXXXXXX姓名:XXXX日期:XXXXX一、大作业目的用面向对象语言JA V A完成登录系统和钟表的分析、设计和实施。
通过课程设计掌握面向对象编程技术、GUI编程、常用类库的使用和应用系统的开发过程。
二、大作业题目描述和要求1.题目设计简单的登录系统和钟表界面,掌握Java编程中的多媒体应用。
2.要求(1)登录系统是java编程中比较基础的,设计一个登录对话框,通过输入正确的用户名和密码来进入系统,系统是一个带有菜单栏的记事本程序,通过点击菜单栏上的按钮来实现相应的功能。
(2) 通过设计一个钟表程序进一步掌握java在多媒体方面的应用。
3. 开发环境Eclipce + JDK1.4.2三、系统分析1.对于登录系统,首先应该对登录界面进行设计,该对话框中包括两个标签,一个文本输入框,一个密码输入框和两个按钮,这些GUI组件被添加到一个使用了网络袋布局的面板panel中,面板panel又被添加到Text_Login的内容窗格。
设计该系统的初步思路就是首先需要定义图像生成器的界面窗口,其次就是往每个按钮上添加触发事件监听器(如ActionListener、MouseListener、MouseMotionListener),然而在实际操作的过程中,新的问题不断出现,不过最后依依解决了。
对于记事本程序中的菜单栏的实现,菜单也是一种常用的GUI组件,菜单是一种层次结构,最顶层是菜单栏,在菜单栏中可以添加若干个菜单,每个菜单又可以添加若刚菜单选项,子菜单。
当单击一个菜单选项时,会生成一个动作事件,为菜单选项添加事件侦听器就可以侦听起动作事件。
2.对于Java的多媒体应用之钟表实现,程序在窗口上显示一个表盘,时刻度和分刻度为3D样式的,分别为黑灰色和灰色时针分针秒针随着时间在走动,间隔1s。
时针和分针的样式设计为略显锥形,秒针为简单的直线形。
1.在webapps目录下创建一个可供外界访问的web应用。
在webapps目录下创建一个目录,然后放入编译好的html文件,然后在浏览器中输入http://localhost:8080/myweb/text.html即可打开web应用。
2.在sever.xml文件中进行配置,把C:盘下的某一个web应用映射成可供外界访问的虚拟目录。
在F盘创建目录aa,然后放入text2.html,然后打开F:\apache-tomcat-8.0.33\conf的server.xml然后在<Host>……</Host>中添加:<Context path="/test2" docBase="F:\aa" />3.在catalina/localhost目录下进行设置,把C:盘下的某一个web应用映射成可供外界访问的虚拟目录。
在tomcat的conf/Catalina/localhost目录中新建一个Demo.xml文件,写上<Context path="/Demo" docBase="F:\aa"/>然后输入http://localhost/Demo/text3.html即可访问4.在server.xml文件中配置一台的虚拟主机,然后在windows系统中注册这台主机。
在F:\apache-tomcat-8.0.33\conf的server.xml里面添加<Host name="" appBase="F:\apache-tomcat-8.0.33\sohu"><Context path="/news" docBase="F:\apache-tomcat-8.0.33\sohu\news"/> </Host>然后在C:\Windows\System32\drivers\etc的hosts里面添加一行127.0.0.3 5.在虚拟主机的根目录中创建一个名称为itcast的web应用,并在该应用下创建一个index.html页面,然后把web应用映射成缺省web应用。
《Javaee程序设计》课程期末作业 题 目 学生学籍管理系统 学 院 计算机学院 专 业 计算机科学与技术 班 别 13级(2)班 学 号 ******** 姓 名
2016年5月22日 一、运行结果: 输入账号jax 密码123456
显示教师端登录成功: 点击查看所有学生信息:
点击按学号查询,输入学号001: 结果显示: 点击按学号删除学生,输入学号001: 显示删除成功 点击更新学生年龄,输入学号002和年龄50 结果显示修改成功:
点击添加学生信息,并输入新学生信息如下: 结果显示添加成功: 最后再次查询所有学生来显示前面操作的效果: 倘若登录界面输入学号jack和密码123456,则学生端登录成功,只有部分功能: 如下图:
二、代码部分: 链接数据库部分 package cn.dbc;
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;
public class BaseDao { /* * 数据库连接信息 */ public Connection getConnection() { Connection conn=null; try { Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/MySchool","root","123456"); } catch (Exception e) { e.printStackTrace(); } return conn; } public void closeConn(Connection conn,PreparedStatement pstmt,ResultSet rs) { try { if(rs!=null) { rs.close(); } if(pstmt!=null) { pstmt.close(); } if(conn!=null) { conn.close(); }
} catch(Exception ex) { System.out.println(ex.getMessage()); } } public void closeConn(Connection conn,PreparedStatement pstmt) { try {
if(pstmt!=null) { pstmt.close(); } if(conn!=null) { conn.close(); }
} catch(Exception ex) { System.out.println(ex.getMessage()); } }
} 学生实体类: package cn.bean;
public class Student { private String id; private String name; private String sex; private int age ; private String collage; private String grade; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getCollage() { return collage; } public void setCollage(String collage) { this.collage = collage; } public String getGrade() { return grade; } public void setGrade(String grade) { this.grade = grade; } public Student(String id, String name, String sex, int age, String collage, String grade) { super(); this.id = id; this.name = name; this.sex = sex; this.age = age; this.collage = collage; this.grade = grade; } public Student() { super(); }
} 对数据的增删查改实现的代码: package cn.dao.impl;
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List;
import cn.bean.Student; import cn.dao.StudentDao; import cn.dbc.BaseDao;
public class StudentDaoImpl implements StudentDao { BaseDao bs=new BaseDao(); Connection conn=null; PreparedStatement pstmt=null;
public ArrayList findAll() { // 查看整个学生表 ArrayList AL =new ArrayList(); String sql="select * from student"; ResultSet rs=null; conn=bs.getConnection(); try { pstmt=conn.prepareStatement(sql); rs=pstmt.executeQuery(); System.out.println("学号"+"\t"+"姓名"+"\t"+"年龄"+"\t"+"性别"+"\t"+"年级"+"\t"+"学院"+"\t" ); while(rs.next()) { Student stu=new Student(); stu.setId(rs.getString(1)); stu.setName(rs.getString(2)); stu.setAge(rs.getInt(3)); stu.setSex(rs.getString(4)); stu.setGrade(rs.getString(5)); stu.setCollage(rs.getString(6)); AL.add(stu); } for(int i=0;i{
System.out.println(AL.get(i).getId()+"\t"+AL.get(i).getName()+"\t"+AL.get(i).getAge()+"\t"+AL.get(i).getSex()+"\t"+AL.get(i).getGrade()+"\t"+AL.get(i).getCollage() ); } } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } finally { bs.closeConn(conn, pstmt, rs); } return AL; } public Student findStudent(String id) { //根据学号查找学生 Student stu=new Student(); conn=bs.getConnection(); ResultSet rs=null; String sql="select * from student where id=? ";
try { pstmt=conn.prepareStatement(sql); pstmt.setString(1, id); rs=pstmt.executeQuery(); System.out.println("学号"+"\t"+"姓名"+"\t"+"年龄"+"\t"+"性别"+"\t"+"年级"+"\t"+"学院"+"\t" ); while(rs.next()) {