javaweb简单登陆例子
JSP+Servlet+JavaBean简单程序例子——用户名密码登陆,摘自《Tomcat&JavaWeb 技术手册》,亲测可用。
IDE环境:MyEclipse10
1、建立Web Project,命名为Login_test。创建userLogn表:
create table userLogin(
user_name varchar(10) not null,
user_pwd varchar(10) not null,
constraint user_pk primary key (user_name)
);
2、添加 JavaBean文件,创建新类UserLoginBean,java
package login;
import java.sql.*; public class UserLoginBean {
private Connection con; //数据库连接
private ResultSet rs; //结果集
private Statement stmt;
private static final String DRIVER_NAME="com.mysql.jdbc.Driver";
private static final String URL_STR="jdbc:mysql://localhost/test";
//构造函数
public UserLoginBean(){
try{//加载驱动程序
Class.forName(DRIVER_NAME);
//获取数据库连接
con=DriverManager.getConnection(URL_STR, "root", "jiangshan"); //自己的用户名和密码
}
catch(SQLException se){
se.printStackTrace();
}
catch(ClassNotFoundException cnfe){
cnfe.printStackTrace();
}
} //业务方法
public boolean login(String userName,String password)
{
boolean b = false;
try{
stmt=con.createStatement();
String sql="SELECT user_pwd FROM userLogin Where user_name='"+userName+"'";
rs=stmt.executeQuery(sql);
while(rs.next()){
String pwd= rs.getString(1);
if(pwd.equals(password)){
b=true;
}
}
}catch(SQLException se){
se.printStackTrace();
b=false;
}finally{
this.close(con,rs,stmt); //下面定义close方法
}
return b;
}
//close方法用于关闭相应资源
public void close(Connection con,ResultSet rs,Statement stmt){
try{
if(con!=null){
con.close();
}
if(rs!=null){
rs.close();
}
if(stmt!=null){
stmt.close();
}
}
catch(SQLException se){
se.printStackTrace();
}
}
}
3、添加Servlet类,命名UserLoginServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import login.UserLoginBean; public class UserLoginServlet extends HttpServlet{
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
this.doPost(request, response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
PrintWriter out=response.getWriter();
try{
String userName=request.getParameter("userName").trim();
String passWord=request.getParameter("passWord").trim();
UserLoginBean ubl=new UserLoginBean();
boolean b =ubl.login(userName, passWord);
if(b){
this.forward(request,response,"/loginOK.jsp");
}
else{
this.forward(request,response,"/LoginFail.jsp");
}
}
catch(Exception e){
out.println("Login fail.<br>");
out.println(e.toString());
}
}
//
private void forward(HttpServletRequest request,HttpServletResponse response,String url)
throws ServletException,IOException{
RequestDispatcher rd=request.getRequestDispatcher(url);
rd.forward(request, response);
} }

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import login.UserLoginBean; public class UserLoginServlet extends HttpServlet{
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
this.doPost(request, response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
PrintWriter out=response.getWriter();
try{
String userName=request.getParameter("userName").trim();
String passWord=request.getParameter("passWord").trim();
UserLoginBean ubl=new UserLoginBean();
boolean b =ubl.login(userName, passWord);
if(b){
this.forward(request,response,"/loginOK.jsp");
}
else{
this.forward(request,response,"/LoginFail.jsp");
}
}
catch(Exception e){
out.println("Login fail.<br>");
out.println(e.toString());
}
}
//
private void forward(HttpServletRequest request,HttpServletResponse response,String url)
throws ServletException,IOException{
RequestDispatcher rd=request.getRequestDispatcher(url);
rd.forward(request, response);
} }

4、写登陆界面:创建index.jsp
<%@ page contentType="text/html; charset=GBK" %> <html>
<head>
<title>User_Login</title>
</head> <body><br><br>
<font size="5" color="#FF0000">
<b>Jsp+Servlet+JavaBean应用</b> </font><br><hr></hr><br><br>
<form name="loginForm" method="post" action="UserLoginServlet">
<table border="0" align="center" cellpadding="2" cellspacing="2" bgcolor="snow">
<tr>
<td>
<div align ="center">用户名:</div>
</td>
<td><div align="center">
<input type="text" name="userName" size=20 maxlength="10">
</div></td></tr>
<tr>
<td>
<div align="center">密 码</div>
</td>
<td>
<div align="center">
<input type="password" name="passWord" size="20" maxlength="10">
</div></td></tr>
<tr width="100%">
<td>
<div align="center">
<input type="submit" value="登陆">
<input type="reset" value="重置">
</div> </td></tr>
</table></form>
</body>
</html>

<%@ page contentType="text/html; charset=GBK" %> <html>
<head>
<title>User_Login</title>
</head> <body><br><br>
<font size="5" color="#FF0000">
<b>Jsp+Servlet+JavaBean应用</b> </font><br><hr></hr><br><br>
<form name="loginForm" method="post" action="UserLoginServlet">
<table border="0" align="center" cellpadding="2" cellspacing="2" bgcolor="snow">
<tr>
<td>
<div align ="center">用户名:</div>
</td>
<td><div align="center">
<input type="text" name="userName" size=20 maxlength="10">
</div></td></tr>
<tr>
<td>
<div align="center">密 码</div>
</td>
<td>
<div align="center">
<input type="password" name="passWord" size="20" maxlength="10">
</div></td></tr>
<tr width="100%">
<td>
<div align="center">
<input type="submit" value="登陆">
<input type="reset" value="重置">
</div> </td></tr>
</table></form>
</body>
</html>

5、登陆成功界面:LoginOK.jsp
<%@ page contentType="text/html; charset=GBK" %> <html>
<head>
<title>User_LoginOK</title>
</head>
<body><br><br><br>
<font size="5" color="#FF0000">
<b>JSP+Servlet+JavaBean</b>
</font><br><br><hr></hr><br><br>
<center>
<font color="red" size="4" >Login OK!</font>
</center></body>
</html>

<%@ page contentType="text/html; charset=GBK" %> <html>
<head>
<title>User_LoginOK</title>
</head>
<body><br><br><br>
<font size="5" color="#FF0000">
<b>JSP+Servlet+JavaBean</b>
</font><br><br><hr></hr><br><br>
<center>
<font color="red" size="4" >Login OK!</font>
</center></body>
</html>

6、登陆失败界面:LoginFail.jsp
%@ page contentType="text/html; charset=GBK" %> <html>
<head>
<title>User_LoginOK</title>
</head>
<body><br><br><br>
<font size="5" color="#FF0000">
<b>JSP+Servlet+JavaBean</b>
</font><br><br><hr></hr><br><br>
<center>
<font color="red" size="4" >Login Fail!</font>
</center></body>
</html>

<%@ page contentType="text/html; charset=GBK" %> <html>
<head>
<title>User_LoginOK</title>
</head>
<body><br><br><br>
<font size="5" color="#FF0000">
<b>JSP+Servlet+JavaBean</b>
</font><br><br><hr></hr><br><br>
<center>
<font color="red" size="4" >Login Fail!</font>
</center></body>
</html>

7、启动tomcat,将此项目部署至tomcat的webapps文件下,打开webapps下的项目里的WEB-INF文件夹,修改web.xml文件,在<web-app>和</web-app>之间添加如下代码:
<servlet>
<servlet-name>UserLoginServlet</servlet-name>
<servlet-class>UserLoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserLoginServlet</servlet-name>
<url-pattern>/UserLoginServlet</url-pattern>
</servlet-mapping>
也可以添加如下代码,将主页设置为index.jsp:
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
8、打开浏览器,输入http://localhost:8080/Login_test/ 即可进入登陆界面。
javaweb简单登陆例子的更多相关文章
- SpringBoot的简单登陆开发例子
1:这个例子用spirngboot整合mybatis,jdbc等技术开发的 2:步骤 2.1:新建一个工程 主要的两个步骤已经贴图了,第二张图是直接在pom.xml文件中加入依赖 2.2:新建完项目, ...
- 用asp连接Access数据库 制作简单登陆界面
[题外话:最近做Internet作业,在这写一个适合初学入门的ASP连接ACCESS数据库做登陆界面的简单的例子,以慰藉我一口气把以前做过的系统中的PHP代码全改成ASP代码来临时应付作业的心情... ...
- 跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击
跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击 一.总结 一句话总结:比如用户留言功能,用户留言中写的是网页可执行代码,例如js代码,然后这段代码在可看到这段留言的不同一户的显示上就会 ...
- javaWEB简单商城项目
javaWEB简单商城项目(一) 项目中使用到了上一篇博文的分页框架,还有mybatis,重点是学习mybatis.现在有些小迷茫,不知道该干啥,唉,不想那么多了,学就对了 一.项目功能结构 1.功能 ...
- linux systemd 从简单的例子入门
linux systemd 从简单的例子入门 网上很多相关链接,一上来就给一大堆命令和讲解,让人头都大. 我们希望有一个service(服务),让它在开机启动的时候就执行. 用 root 登陆以后: ...
- 简单的例子了解自定义ViewGroup(一)
在Android中,控件可以分为ViewGroup控件与View控件.自定义View控件,我之前的文章已经说过.这次我们主要说一下自定义ViewGroup控件.ViewGroup是作为父控件可以包含多 ...
- CSharpGL(1)从最简单的例子开始使用CSharpGL
CSharpGL(1)从最简单的例子开始使用CSharpGL 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo ...
- 用一个简单的例子来理解python高阶函数
============================ 用一个简单的例子来理解python高阶函数 ============================ 最近在用mailx发送邮件, 写法大致如 ...
- Spring-Context之一:一个简单的例子
很久之前就想系统的学习和掌握Spring框架,但是拖了很久都没有行动.现在趁着在外出差杂事不多,就花时间来由浅入深的研究下Spring框架.Spring框架这几年来已经发展成为一个巨无霸产品.从最初的 ...
随机推荐
- Codeforces Round #507 Div. 1
D:类似于noip2018d1t3,子树内的链应该贪心的尽量合并而不是拆开.则设f[i]为i子树内满足选的链尽量多的情况下根所在的链的最长长度即可.于是可以线性对某个k求得答案. 注意到长度为k的链不 ...
- SPOJ705-New Distinct Substrings-后缀数组
计算所都不相同子串的个数,做法是所有子串的个数减去sigma(height[]).其中height数组的和便是所有相同子串的个数. 注意 N×(N+1)/2会爆int!但是最终答案在int内.所以使用 ...
- 【UOJ348】【WC2018】州区划分 状压DP FWT
题目大意 给定一个\(n\)个点的无向图,对于每种 \(n\) 个点的划分\(\{S_1,S_2,\ldots,S_k\}\),定义它是合法的,当且仅当每个点都在其中的一个集合中且对于任何的\(i\i ...
- linux 开放80端口
必须确保两块都开放 1.云服务器-->安全组开放 比如百度云服务器: 2.linux内置防火墙开放 注意:此处如果不设置开放,即时云端开放了也没用,如果同时存在 80 (拒绝) 80(允许) ...
- MT【263】待定系数
已知$a,b>0$且$ab(a+b)=4$,求$2a+b$的最小值_____ 解答:$\sqrt{3}(2a+b)\ge(\sqrt{3}+1)a+b+(\sqrt{3}-1)(a+b)\ge3 ...
- luogu1397 [NOI2013]矩阵游戏 (等比数列求和)
一个比较显然的等比数列求和,但有一点问题就是n和m巨大.. 考虑到他们是在幂次上出现,所以可以模上P-1(费马小定理) 但是a或c等于1的时候,不能用等比数列求和公式,这时候就要乘n和m,又要变成模P ...
- [SCOI2016]萌萌哒(倍增+并查集)
一个长度为n的大数,用S1S2S3...Sn表示,其中Si表示数的第i位,S1是数的最高位,告诉你一些限制条件,每个条件表示为四个数,l1,r1,l2,r2,即两个长度相同的区间,表示子串Sl1Sl1 ...
- (三)flask中的请求钩子函数
请求勾子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接: 在请求开始时,根据需求进行权限校验: 在请求结束时,指定数据的交互格式: 为了让每个视图 ...
- OpenLayers学习笔记(五)— 拖拽Feature图层
参考文档的例子可以知道如何拖动矢量图层feature GitHub: 八至 作者:狐狸家的鱼 本文链接:拖拽Feature图层 全部代码 <!DOCTYPE html> <html& ...
- Vue--组件嵌套
1.全局注册: 组件放到components文件夹内,建议组件名是什么行为的name名就是什么 main.js 引入组件:import Users from '组件位置' 注册全局组件:Vue.com ...