手机版

JSP Servlet制作服务应用开发详解登录功能的全流程解析

时间:2021-10-29 来源:互联网 编辑:宝哥软件园 浏览:

0.新建网项目首先,在MyEclipse里新建服务应用开发详解项目,项目名为登录。此时,项目中包含一个科学研究委员会文件夹和一个访问根目录文件夹,以及服务应用开发详解自带的爪哇运行时环境库文件夹和J2EE库文件夹。其中,在访问根目录文件夹下,包含了网络信息文件夹和一个index.jsp页面文件。接下来,新建一个JSP页面,命名为login.jsp。项目文件的结构如下:

2016525171501569.jpg  (203184)

1.设计login.jsp页面打开login.jsp页面后,修改第一行的代码为pageEncoding='utf-8 ',防止页面中文出现乱码。接下来在身体部分定义形式表单,用于用户输入用户名和密码。页面代码如下:

“% @”页面语言=“Java”导入=“Java”。乌提尔。*“页面编码=”utf-8“% % String path=request。getcontextpath();字符串基本路径=请求。getscheme()' ://'请求。getservername()“:”请求。getserverport()“路径”/;%!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN ' HTML头基href=' %=基路径% '标题登陆页面/title/head body表单操作=“登录”方法='post '用户名:输入名称='用户名'类型='text' /br/密码:输入名称='密码'类型='密码'/br/输入类型='提交'值='提交//表单/正文/html 2 .新建小型应用程序文件接下来,在MyEclipse中新建一个loginServlet.java,并定义在包文件夹a下(包名自己决定)。文件夹目录如下:

2016525171642557.jpg  (17663)

双击,打开loginServlet.java文件,在发布者方法内,通过request.getParameter()方法获取注册页面的用户名和密码,并通过response.sendRedirect()方法跳转到index.jsp页面。页面代码如下:

包装a;导入Java。io。ioexception导入javax。servlet。servlet配置;导入javax。servlet。servletexception导入javax。servlet。servlet请求;导入javax。servlet。servlet响应;导入javax。servlet。http。HttpServletrequest导入javax。servlet。http。HttpServletResponse公共类实例三实现javax。servlet。servlet { public void doPost(HttpServletrequest请求,HttpServletResponse响应)抛出ServletException,IOException { String userName=请求。getparameter(' userName ');//取得用户名字符串密码=请求。GetParameter('密码');//取得密码回应。发送重定向('索引。JSP’);} public void destroy(){ } public ServletConfig getServletConfig(){ return null;}公共字符串getServletInfo(){ 0返回null } public void init(SERVLETconfig参数0)引发ServletException { }公共void服务(ServletRequest请求,ServletResponse响应)引发ServletException,IOException { HttpServletrequest rq=(HttpServletrequest)请求;httpersvletresponse RS=(httpersvletresponse)响应;doPost(rq,RS);}}3.配置小型应用程序打开网络信息文件夹下的web.xml文件,通过设置这个网站的首页为login.jsp。接下来配置servlet。页面代码如下:

?可扩展标记语言版本='1.0 '编码='UTF-8 '?元素内版本=' 2.5 ' xmlns=' http://Java。星期日com/XML/ns/javaee ' xmlns : xsi=' http://www .w3。org/2001/XMLSchema-实例' xsi :架构位置=' http://Java。星期日com/XML/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd' servlet servlet-name loginservlet/servlet-name servlet-classa.loginServlet/servlet-class/servlet servlet-mapping servlet-name测试页面最后看看运行效果,选择运行,选择某个版本的雄猫启动。页面效果如下:

2016525171740590.jpg  (238126)

2016525171806832.jpg  (25171)

5.配置数据源(1)创建数据库打开关系型数据库数据库,新建数据库,此处命名为注册数据库,在数据库中创建表登录,并且设置用户名和密码字段。数据库的设计表如下:

2016525171824608.jpg  (502132)

上图中的编号作为主键,使得数据库的表至少符合第二范式的要求,其中用户名和密码字段是注册表内独有的字段,因此此表符合第三范式的要求。接下来在注册表中填入数据,此例的数据如下:

2016525172109682.jpg  (47748)

(2)连接数据库在MyEclipse中连接数据库,此处采用加载数据库编程驱动的方法连接数据库。首先下载关系型数据库的驱动,接下来需要导入关系型数据库的冲突包到我们的项目中来,在包资源管理器中右键爪哇运行时环境系统库,选择构造路径-配置构建路径选项卡,弹出的爪哇构建路径选项卡中,通过添加外部JAR(X)按钮加载mysql.jar文件。接下来,在项目中新建DBUtil.java文件,用于连接关系型数据库数据库。此处略去连接数据库的原理,DBUtil.java文件的源代码如下,请更改源代码中的数据库名称和连入关系型数据库的用户名密码等信息:

包装a;导入Java。SQL。*;公共类DBUtil {布尔binedit=false//加载驱动public void initJDBC()引发ClassNotFoundException { //加载驱动程序驱动程序上课。FOrname(' com。MySQL。JDBC。驱动程序');binedit=trueSystem.out.println('成功加载关系型数据库驱动程序!');}公共连接getConnection()引发ClassNotFoundException,SQLException{ if(!binedit){ initJDBC();} //连接统一资源定位器为jdbc:mysql//服务器地址/数据库名//后面的2个参数分别是登陆用户名和密码connection conn=drivermanager。GetConnection(' JDBC :我的SQL ://localhost :3306/数据库名','用户名','密码');返回conn}公共布尔逻辑访问(字符串用户名,字符串密码){布尔返回值=假;字符串sql='SELECT * FROM '登录;连接conn=null语句stmt=nullResultSet rs=null尝试{ conn=GetConnectionstmt=conn . CreateStatement();RS=stmt。execute query(SQL);而(RS。next()){ String userNameInDB=RS。getstring(' username ');字符串passwordInDB=RS。GetString('密码');if(usernameindb。等于(用户名)passwordindb。equals(password)){返回值=true打破;} } } catch(ClassNotFoundException e){ e . printstacktrace();} catch(SQLException e){ e . printstacktrace();}返回返回值;}}上文中登录成功()方法内,用于在数据库中查找用户名和密码与传入参数用户名、密码匹配的情况。一旦找到,则返回真实的结果。

(3)修改小型应用程序业务逻辑修改loginServlet.java文件的业务逻辑,在其中加入连接数据库的语句。其中,主要的页面跳转逻辑写着了doPost()方法内,修改后的doPost()方法如下:

public void doPost(HttpServletrequest请求,HttpServletResponse响应)引发ServletException,IOException { String USername=请求。GetParameter(' userName ');//取得用户名字符串密码=请求。GetParameter('密码');//取得密码DBUtil db=new DBUtil();//构建数据库对象boolean可以登录=db。登录成功(用户名、密码);if(canLogin){//根据登陆情况,跳转页面回应。发送重定向('索引。JSP’);} else { response。发送重定向('登录。JSP’);} }(4)测试页面调试后的页面效果如下:

2016525171929132.jpg  (235120)

2016525172156822.jpg  (24964)

版权声明:JSP Servlet制作服务应用开发详解登录功能的全流程解析是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。