您的位置:首页 > 编程语言 > Java开发

分析基于Jsp+Servlet+JavaBean的个人信息管理系统的运行流程

2016-10-31 15:47 841 查看


Saturday,October the twenty-ninth,Twenty sixteen

(Sat.,Oct. 29,2016)

学生管理系统JSP项目流程思路理清
前面详细分析,后面重复的不细说
项目运行,Tomcat容器加载”项目名”/WebContent/WEB-INF/web.xml配置,通过<welcome-file-list><welcome-file>/login.jsp</welcome-file></welcome-file-list>标签[中间存在——将login.jsp转login_jsp.java译login_jsp.class,加载,执行——过程]返回响应给客户端

客户端在(login.jsp)html中点击注册按钮,通过<ahref="http://localhost:8080/PIMS/register/register.jsp"></a>标签,发送请求给Tomcat服务器,[中间存在——将register.jsp转xxx_jsp.java译xxx_jsp.class,加载,执行——过程]返回响应给客户端

客户端在(register.jsp)html中填写信息,按确定按钮,通过<formaction="http://localhost:8080/PIMS/RegisterServlet" method=”post”></from>标签,将数据包含在HTML的header中,发送request请求,Tomcat容器收到请求,调用RegisterServlet,并将request对象交给dopost (HttpServletRequest request,HttpServletResponse
response) 方法

(URL中Servlet名称由web.xml中的<servlet><servlet-name>xxx</servlet-name><servlet-class>xxx.xxx</servlet-class></servlet>给servlet文件定义名称

<servlet-mapping><servlet-name>xxx</servlet-name><url-pattern>/xxx</url-pattern></servlt-mapping>给在<servlet-name>标签中名称相同的servlet映射URL路径)

在RegisterServlet的dopost方法中,通过request.getParameter()(注意,post传输数据的编码为“ISO-8859-1”,需要进行编码转换,防止出现中文乱码)获取request对象中的参数,经2个验证(不允许空,两次密码不同),验证失败用JOptionpane.YES_NO_CANCEL_OPTION弹窗提示失败,并用response.sendRedirect()方法重定向到register.jsp,Tomcat容器再次收到请求,[中间存在——将register.jsp转xxx_jsp.java译xxx_jsp.class,加载,执行——过程]返回响应给客户端,验证成功则同理弹窗提示成功,之后创建数据连接,再经“同名用户存在“(使用Statement.executeQuery()方法查询,再用ResultSet.last()和ResultSet.getRow()配合查出是否重复)判断,验证失败处理同上,验证成功则将数据存入数据库,关闭数据库连接(rs
stmt conn 按顺序3个close()),重定向到login.jsp,Tomcat容器再次收到请求,[中间存在——将login.jsp转xxx_jsp.java译xxx_jsp.class,加载,执行——过程]返回响应给客户端(Register.getRow()不是返回数据集的行数!该方法是返回数据库当前行的行号!即rs所指的行号,所以需要使用Register.last()配合,才能得出行数。)

客户端在(login.jsp)html中输入用户密码,点击登录,将<form>标签数据存header,与request请求一起发送,Tomcat容器收到请求,调用LoginServlet,并将request对象给交dopost方法

在LoginServlet的dopost方法中,2个验证(用户为空,密码为空),失败弹框转重定向到login.jsp(重新请求到响应过程略),成功创建数据库连接,2个验证(无此用户,密码错误),失败弹框重定向到login.jsp(重新请求到响应过程略),成功实例并将用户密码传递给LoginBean的实例化对象,将LoginBean对象存入Arrylist,再将Arrylist存入HttpSession的实例化对象中的“login”key,重定向到main.jsp,Tomcat容器再次收到请求,

main.jsp由框架布局组成,将HttpSession的实例化对象中的“login”key对应的value存入Arrylist,再将Arrylist中的对象存入LoginBean,取LoginBean中用户属性,在url后加?userName=<%=userName%>通过request对象传值发送请求,访问框架布局中的middle.jsp(有传值,其他框架页面无传值)、left.jsp、top.jsp、bottom.jsp,[中间存在——将各个.jsp转xxx_jsp.java译xxx_jsp.class,加载,执行——过程]返回响应给客户端

middle.jsp中,获取request对象,获取对象中的用户名(并显示),以下为学生管理系统的3个重要功能

个人信息管理--查看个人信息

客户端点击个人信息管理,通过<a href="http://localhost:8080/PIMS/LookMessageServlet?userName=<%=userName%>"
target="main"></a>标签(target属性指定了新页面在<frame>框架下的name=“main“的页面显示,这里也就是bottom.jsp所在的框框),发送请求,并通过url传值,Tomcat容器收到请求,调用LookMe
4000
ssageServlet的 doGet方法,[创建数据库连接,查询userName,将结果存入LookMessageBean的实例化对象-->存入Arrylist-->存入HttpSession的实例化对象中的“wordlist”key,关闭数据库连接,]重定向到lookMessage.jsp,Tomcat容器再次收到请求,[中间存在——将lookMessage.jsp转xxx_jsp.java译xxx_jsp.class,加载,执行——过程]
(lookMessage.jsp获取HttpSession的实例化对象,将HttpSession的实例化对象中的“wordlist”-->存入Arrylist-->存入LookMessageBean的实例化对象-->读取对象中的数据),返回响应给客户端

个人信息管理--修改密码

客户端点击修改密码,发送访问updatePassword.jsp请求,Tomcat容器收到请求,[中间存在——将UpdatePassword.jsp转xxx_jsp.java译xxx_jsp.class,加载,执行——过程]返回结果给客户端

在(updatePassword.jsp)html中,客户端重复输入密码,点击确定,发送请求,并通过<form>标签post方式传值,Tomcat容器收到请求,调用UpdatePasswordServlet,将request对象交给doPost方法,读取request对象中的2个密码,2个验证(为空、不相同),失败弹框重定向到updatePassword.jsp,成功则创建数据库连接,executeUpdate更新数据库中的密码,executeQuery查询刚刚改密码的用户密码,存入LoginBean,存入ArrayList-->HttpSession,关闭连接,弹窗,重定向到lookMessage.jsp,Tomcat容器再次收到请求,(Jsp到Servlet转化过程略)返回响应给客户端

其他功能实现过程与上面的方法并无差异,无非就是使用<form>标签的post方式传数据给Servlet处理,实现数据库的增删改查操作,利用HttpSession在Servlet间传递数据,达到显示数据的目的。

ps:快要去面试Java实习生了,需要查漏补缺,学得废寝忘食

源码下载:http://pan.baidu.com/s/1gfv6VVt

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐