SSH整合--1
来源:互联网 发布:隐写术算法 编辑:程序博客网 时间:2024/06/10 21:17
功能:实现简单的用户登录
0. 简单的流程
<%@ page language="java" import="java.util.*"pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN">
<html>
<form action="registerDeal.jsp"method="post">
用户名:<input type="text"name="username"/><br>
密码:<input type="password"name="password"/><br>
确认密码:<input type="password"name="password2"/><br>
<input type="submit" value="提交"/>
</form>
</html>
2. RegisterDeal.jsp
<%@ page language="java" import="java.util.*"pageEncoding="UTF-8"%>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.DriverManager"%>
<%@ page import="java.sql.PreparedStatement"%>
<%@ page import="java.sql.SQLException"%>
<%@ page import="java.sql.ResultSet"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN">
<html>
<%
String username =request.getParameter("username").trim();
String password =request.getParameter("password").trim();
String password2 =request.getParameter("password2").trim();
// 简单验证,不填其他的复杂逻辑
// save in database
Connection conn = null;
PreparedStatement pstat = null;
String url = "jdbc:mysql://localhost:3306/ssh";
String user = "root";
String pw = "mysql123";
try {
Class.forName("com.mysql.jdbc.Driver");
try {
conn = DriverManager.getConnection(url, user, pw);
String selectSql = "select count(*) from tb_user whereusername=?";
pstat = conn.prepareStatement(selectSql);
pstat.setString(1, username);
ResultSet rs = pstat.executeQuery();
rs.next();
int count = rs.getInt(1);
if(count > 0) {
//response.sendRedirect("registerFail.jsp");
request.getRequestDispatcher("registerFail.jsp").forward(request,response);
return;
}
String sql = "insert into tb_user(id, username, password)values(null, ?, ?)";
pstat = conn.prepareStatement(sql);
pstat.setString(1, username);
pstat.setString(2, password);
pstat.executeUpdate();
//response.sendRedirect("registerSucess.jsp");
request.setAttribute("username", username);
request.getRequestDispatcher("registerSucess.jsp").forward(request,response);
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
if (null != pstat)
pstat.close();
if (null != conn)
conn.close();
}
%>
</html>
在这个jsp里,实现了从请求里读取数据,连接数据库,判断数据库中是否已经存在要注册的用户名,如果不存在则允许当前用户注册,否则不允许注册。如果注册成功就跳到显示注册成功信息的页面registerSucess.jsp,否则跳到注册失败的页面registerFail.jsp。为了简单没有添加其他复杂的逻辑和功能。整个过程流程是很简单的。
3. registerSucess.jsp
<%@ page language="java" import="java.util.*"pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN">
<html>
registerSucess...
<br/>
welcome <font color="red"size="10px"><%=request.getAttribute("username")%></font>
</html>
4. registerFail.jsp
<%@ page language="java" import="java.util.*"pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN">
<html>
registerFail...
</html>
5. 数据库sql
Create database ssh01;
Use ssh01;
Drop table tb_user;
Create tabel tb_user(
Id int auto_increment,
Username varchar(30),
Password varchar(30),
Primary key(id)
);
在工程的WEB-INFO下的lib目录下添加mysql的驱动jar包。部署项目并运行,测试项目是否成功。当数据库不存在相同的用户名时注册成功,否则注册失败!!
![SSH整合--1 SSH整合--1](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![SSH整合--1 SSH整合--1](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![SSH整合--1 SSH整合--1](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
6. 简单分析:
![SSH整合--1 SSH整合--1](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
此工程没有任何的模式或者是框架,所有的业务逻辑、操作数据库操作等都在jsp里实现,基本上没什么难点。但是维护修改比较麻烦!基本上不能重用。
- SSH整合实例(1)
- SSH整合步骤(1)
- 浅谈ssh整合1
- SSH整合问题1
- 整合SSH(1)
- SSH整合--1
- 1SSH整合
- ssh整合(1)
- SSH整合(1)-最小整合框架
- SSH 整合
- SSH整合
- ssh整合
- SSH整合
- SSH 整合
- SSH整合
- ssh整合
- SSH整合
- ssh整合
- 最常用的正则表达式的使用
- 更灵活的使用PrepareStatement接口
- MyBatis入门示例——MyBatis学习笔记…
- MyBatis的动态SQL详解 (转载)
- MyBatis之ResultMap简介,关联对象…
- SSH整合--1
- SSH整合- 2- add service layout
- CentOS_6安装Oracle_11g_R2手记
- 23种设计模式的形象比喻 (转载)
- SSH 整合- 3 - add - hibernate
- matlab基础学习——向量与矩阵
- Z5S自定义短信铃声
- SSH 整合- 4 - add service_servic…
- 全域hash