jsp第十周
数据库test 中建个表 stu(stuid 主键 自动增长 ,用户名,密码,年龄)
1.设计一个注册页面,实现用户注册功能
2.设计一个登陆页面,实现用户名密码登陆
3.两个页面可以互相超链接
BaseDao.java
package dao; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class BaseDao { // 获取连接
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
// 2.建立连接
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "root");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
} // 关闭连接
public static void closeAll(Connection con, PreparedStatement ps, ResultSet rs) {
try {
if (rs != null)
rs.close();
if (ps != null)
ps.close();
if (con != null)
con.close(); } catch (SQLException e) {
e.printStackTrace();
}
} }
stuDao.java
package dao; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class stuDao { public static void main(String[] args) {
stuDao s=new stuDao();
String sname="张三";
int pwd=12;
System.out.println(s.login(sname, pwd));
}
public student login(String sname, int pwd) {
Connection conn = BaseDao.getConnection();
student s=null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
String sql = "select * from stu where sname=? and pwd=?";
ps = conn.prepareStatement(sql);
ps.setString(1, sname);
ps.setInt(2, pwd);
rs = ps.executeQuery();
if (rs.next()) {
s=new student();
String name=rs.getString("sname");
s.setSname(name);
return s;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
BaseDao.closeAll(conn, ps, rs);
}
return s;
} public int reg(String sname, int pwd, int age) {
Connection conn = BaseDao.getConnection();
PreparedStatement ps = null;
int r = -1;
try {
String sql = "insert into stu(sname,pwd,age) values(?,?,?)"; // 2个占位符
// 4.执行SQL语句
ps = conn.prepareStatement(sql);
ps.setString(1, sname);
ps.setInt(2, pwd);
ps.setInt(3, age);
r = ps.executeUpdate();// 增删改都用这个
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
BaseDao.closeAll(conn, ps, null);
}
return r; } }
student.java
package dao;
public class student {
String sname;
int pwd;
int age;
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public int getPwd() {
return pwd;
}
public void setPwd(int pwd) {
this.pwd = pwd;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "student [sname=" + sname + ", pwd=" + pwd + ", age=" + age
+ "]";
}
}
student.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html>
<head> <title>My JSP 'student.jsp' starting page</title> </head>
<% %>
<body>
<form action="slogin.jsp">
学生姓名:<input type="text" name="sname" /> 账号密码:<input type="password"
name="spwd" /> <input type="submit" value="登录" />
</form>
<form action="slogon.jsp">
<input type="submit" value="注册" />
</form>
</body>
</html>
slogin.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html>
<head> <title></title> </head>
<%@ page import="dao.stuDao"%>
<%
String name = request.getParameter("sname");
String spwd = request.getParameter("spwd");
String sname = new String(name.getBytes("ISO-8859-1"), "utf-8");
try {
int pwd = Integer.parseInt(spwd);
stuDao studao = new stuDao();
if (studao.login(sname, pwd) != null) {
out.println("登录成功!");
} else {
out.println("登陆失败!");
out.println("三秒后跳转到主页面...");
response.setHeader("refresh", "3;url=student.jsp");
}
} catch (Exception e) {
out.println("异常!!");
out.println("三秒后跳转到主页面...");
response.setHeader("refresh", "3;url=student.jsp");
}
%>
<body>
<a href="student.jsp">返回</a>
</body>
</html>
slogon.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html>
<head> <title>My JSP 'slogon.jsp' starting page</title> </head>
<% %>
<body>
<h3>请输入信息来完成注册...</h3>
<form action="slogon_link.jsp">
用户名:<input type="text" name="sname" /> 密码:<input type="password"
name="spwd" /> 年龄:<input type="text" name="sage" /> <input
type="submit" value="注册" />
</form>
<a href="student.jsp">返回</a>
</body>
</html>
slogon_link.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html>
<head> <title>My JSP 'slogon_link.jsp' starting page</title> </head>
<%@ page import="dao.stuDao"%>
<%
String sname = request.getParameter("sname");
String spwd = request.getParameter("spwd");
String sage = request.getParameter("sage");
String name=new String(sname.getBytes("ISO-8859-1"),"utf-8");
int pwd = Integer.parseInt(spwd);
int age = Integer.parseInt(sage);
stuDao s = new stuDao();
if (s.reg(sname, pwd, age) != -1) {
out.println("注册成功!");
out.println("三秒后跳转到主页...");
response.setHeader("refresh", "3;url=student.jsp");
} else {
out.println("注册失败!");
out.println("三秒后跳转到主页...");
response.setHeader("refresh", "3;url=student.jsp");
}
%>
<body>
</body>
</html>




jsp第十周的更多相关文章
- 第十周PSP&进度条
PSP 一.表格: D日期 C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 11月17号 站立会议 分配任务 13:00 13:30 0 3 ...
- 第十周 11.28 psp0
课堂测试总结 学生:马小心 日期:2017.11.28 作业号 日期 过程 估计数据 实际数据 累计数据 时间 ...
- 第十周 psp
团队项目PSP 一:表格 C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论用户界面 8:45 10:55 40 35 90 分析与 ...
- Java 第十周学习总结
20145113<Java程序设计>第十周学习总结 基础知识 1.网络通讯的方式主要有两种 TCP(传输控制协议)方式:需要建立专用的虚拟连接以及确认传输是否正确 UDP(用户数据报协议) ...
- 第十周PSP
第十周PSP 工作周期:11.17-11.24 本周PSP: C类型 C内容 S开始时间 ST结束时间 I中断时间 T净时间(分) 文档 写随笔(PSP) 16:20min 16:50min 0 ...
- 20145213《Java程序设计》第十周学习总结
20145213<Java程序设计>第十周学习总结 教材学习总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接 ...
- 21045308刘昊阳 《Java程序设计》第十周学习总结
21045308刘昊阳 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 狭义的网络编程范畴:程序员所作的事情 ...
- 20145330第十周《Java学习笔记》
20145330第十周<Java学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就 ...
- 《Java程序设计》第十周学习总结
20145224 <Java程序设计>第十周学习总结 网络编程 ·网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的 ...
- 20145236 《Java程序设计》 第十周学习总结
20145236 <Java程序设计> 第十周学习总结 Java网络编程 Java网络编程技术 Java语言是在网络环境下诞生的,所以Java语言虽然不能说是对于网络编程的支持最好的语言, ...
随机推荐
- OKHttp 之--------http/https协议处理方法 (Finn_ZengYuan博客)
如果遇到okttp需要使用https协议,那么就需要在支持ssl,不说了,撸码搞起: 加入下面代码即可搞定:主要就是设置 builder.sslSocketFactory(sslParams.sSLS ...
- [NOIP1996 提高组] 挖地雷
题目描述 在一个地图上有N个地窖(N≤20),每个地窖中埋有一定数量的地雷.同时,给出地窖之间的连接路径. 当地窖及其连接的数据给出之后,某人可以从任一处开始挖地雷, 然后可以沿着指出的连接往下挖(仅 ...
- CSP-S T3函数调用
函数是各种编程语言中一项重要的概念,借助函数,我们总可以将复杂的任务分解成一个个相对简单的子任务,直到细化为十分简单的基础操作,从而使代码的组织更加严密.更加有条理.然而,过多的函数调用也会导致额外的 ...
- 从零搭建hadoop集群之hadoop集群安装
1.集群规划 HDSF YARN hadoop01 NanemNode(主机点),DataNode NodeManager hadoop02 DataNode, SecondaryNamenode ...
- PMP学习笔记 (一)
1.第一部分 1.1 项目管理的价值观 责任.尊重.公正.诚实 1.2 项目和运营区别 项目:具有独特性.临时性.渐进明细性 运营:具有重复性和持续性 1.3 项目的产出:产品.服务或成果 1.4 滚 ...
- 如何从相机拍照建立的Fileprovider中获取绝对路径
我们通过高版本获取的fileprovider,然后拍了个照片,如下 imageUri = FileProvider.getUriForFile 但是我们发现当我们 File file = new Fi ...
- OA产品并发访问能力
环境:cpu 16c,内存 32G,系统管理服务.jtportal服务 启动双实例样本:50线程,循环登录60次,共计3000次登录,用时3分钟40秒结论:平均每分钟支持800次登录,均在3秒左右.按 ...
- disp
str = sprintf( 'Best Cross Validation MSE = %g Best c = %g Best g = %g',bestmse,bestc,bestg); disp(s ...
- tomcat多主多备
主服务器默认轮询,当主服务器全部挂了,就会访问备机backup,备机也默认轮询
- ABAP 报表的两种下钻功能
在报表开发中往往会由需求要求跳转,SAP中提供了一些下钻的方式. 这里主要介绍两种 submit 和 call transaction submit 引用的是报表名称,以自开发报表居多 call tr ...