一个寒假之后来到学校,之于前一年学习的知识,一部分已经忘记了,一部分尚还记得。重新做了一遍大二的结业考试,对于自己已经忘却、或者掌握不牢固的知识点,在这里归纳总结陈列,以备日后再次忘却方便查询。
MySQL数据库部分
JSP离不开和数据库的连接,所以常常需要的工具类需要牢记(虽然以后可以直接去copy)。
// 连接数据库的路径
private static final String URL = "jdbc:mysql://localhost/表名";
// 登录数据库的账号
private static final String USER = "root";
// 登录数据库的密码
private static final String PASSWORD = "123";
// 驱动
private static final String DRIVER = "com.mysql.jdbc.Driver";
// 加载驱动,只需要加载一次
static {
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 获得数据库的连接
public static Connection getConnection() {
Connection conn = null;
try {
conn = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
// 同时我们要定义一个关闭资源的方法,以免打开的资源占用内存
public static void closeAll(ResultSet rst, PreparedStatement sta, Connection conn) {
// 关闭的原则遵从:先打开的后关闭,后打开的先关闭
try {
if(rst!=null)
rst.close();
if(sta!=null)
sta.close();
if(conn!=null)
conn.close();
} catch (Exception e) {
// TODO: handle exception
System.out.println("异常消息:"+e.getMessage());
}
}
// 最后我们可以写一个main方法简单运行一下,如果没有报错显示的是内存地址,则说明我们的db帮助类没有错误
public static void main(String[] args) {
System.out.println(DBConnection.getConnection());
}
JSP部分
就昨天复习的情况来看,容易忘却的是从servlet跳转到HTML页面,并且在跳转之前会弹出提示框,比如删除成功或者删除失败等等。
// 首先要设置编码格式以及输入内容的格式,防止乱码和无法成功弹出提示框
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
// 然后需要一个输出对象
PrintWriter pw = response.getWriter();
// 最后进行输出
pw.write("<script>alert('弹框显示的内容');location.href='需要跳转的页面路径'</script>");
这样我们就可以在跳转的同时弹出相应的提示框,然后还有一点我是忘记了的,在JSP中有两种获取传递的参数的方法:
// 第一个是getAttribute()
request.getAttribute("");
// 第二个是getParameter()
request.getParameter("");
当我们在从HTML页面或者js方法中通过路径传值时,我们所采用的应该是第二种方法,而我当时忘记了,只记得第一种方法时,获取到的始终是空值,所以在这里列出希望以后要牢记,不要混淆了。
总的来说,还是自己对于这两种方法的定义不够明确,只知道是获取值,对此我对这两个方法分别进行了查询:
- getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型
- getParameter表示接收参数,参数为页面提交的参数,包括:表单提交的参数、URL重写(就是xxx?id=1中的id)传的参数等,因此这个并没有设置参数的方法(没有setParameter),而且接收参数返回的不是Object,而是String类型
JS部分
在复习的项目中,还需要在HTML页面对用户的操作进行确认,然后根据用户的选择判断是否执行下一步操作(也就是点击删除链接,弹出提示对话框,询问是否删除,如果用户点击确定,则将参数传递到servlet端执行删除操作)。
<!--删除按钮,一般采用的是<a></a>标签超链接,但是我觉得那种比较麻烦,然后我就直接用<p></p>便签表示,只是多加几个样式罢了-->
<style>
p {
color: blue;
text-decoration: underline;
cursor: pointer;
}
</style>
<script type="text/javascript">
function delete_(id) {
if(confirm("你确定要执行该操作吗?")) {
// 在这里就是执行确定之后的操作
// 譬如在我的项目中,在这里就要执行删除操作,也就是需要跳转到servlet中执行对数据的操作
location.href = "路径?id=" + id + "";
}
}
</script>
<p id="delete" onclick="delete_(需要传递的参数)">删除</p>
这样,当用户点击确定按钮之后就会跳转到servlet同时传值,在servlet中我们就可以用getParameter获取传递的参数并执行操作。
目前在复习中发现自己忘记的一些知识点整理在这里,虽然很基础,但是也是成长的过程。
最后的是MySQL驱动jar包下载路径:
链接:http://pan.baidu.com/s/1dFsZgNB 密码:6830