17-8-11学生信息增删查改的知识点总结
- servlet和jsp页面之间传参、调用
jsp向servlet:发:/项目名/servlet名?参数1&参数2……
此过程可写在a标签的href属性加,也可以在form表单的action属性中加,由此转到servlet中
接:jsp接收时使用req.getParameter("参数名")
servlet向jsp:发:req.setAttribute("name",name);
先将要传的值用setAttribute()方法传过去。
req.getRequestDispatcher("/show.jsp").forward(req, resp);
使用转发跳到show.jsp页面
或使用resp.sendRedirect();重定向过去
接:在jsp页面使用EL表达式接收${ name}
2. 注意:1、路径尽量使用绝对路径
2、跳转的页面尽量使用重定向,否则多次请求,数据多次提交 eg:我做增加学生的时候,增加完一个,刷新页面,马上会添加出来跟刚才一样的学生信
息,后来才知道是转发和重定向的问题
3. 使用sql语句进行查删查改,并用ResultSet对象rs接受结果,想要获得其中某一行的值时,用
rs.getInt("列名");或者rs.getString("列名");具体用哪个,看那一列是什么属性
4. 使用sql语句进行查删查改,里面的参数用?代替,在赋值时,使用PrepareStatement的对象ps
ps.setInt(第几个问号,要赋的值);
5. 三种方式配置servlet
1、 写了一个新Servlet,除了使用动态web的2.5版本,自动在web.xml中配置Servlet外,
2、 还可以不使用2.5版本,手动配置,但是比较麻烦
3、 还有一个方法,不使用2.5版本,只需要在这个Servlet类前加 @WEBSERVLET("/servlet的名字")即可
6. 做这个小项目的时候,我发现自己输入的汉字在数据库中是乱码,但是数据库里面可以直接写汉字,后来我改了数据库配置文件里的.ini文件中的一些值,数据库就
行了:
1、default-character-set更改为utf8
2、character-set-server也更改为utf8
最后再重新启动一下mysql,配置一下就行了。
7.乱码问题:
转发时:
req.setCharacterEncoding("utf-8");
重定向:
resp.setContentType("text/html;charset=utf-8");