一个servlet的三种实现方式
1. implementate serlvet (init(ServletConfig config),getServletConfig(),getServletInfo(),service(ServletRequest req,ServletResponse res), 和destory())2.extends GenericServlet(service())
3.extends HttpServlet (dopost和doget)
其中HttpServlet继承于GenericServlet,HttpServlet和GenericServlet又都实现了Servlet接口
此外,如果一个类继承了HttpServlet,那么重写里面的doget()或者是dopost()方法,与继承genericServlet相比,传递的参数进行了类型转换,在dopost或者doget里面,传递的参数为HttpservletRequst和HttpServletResponse;而在GenericServlet的service方法中,传递的参数为ServletRequest和ServletResponse
在Tomcat服务器中:
tomcat webapp classes *.javaweb-inf web.xml
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
request和response对象
request获取从客户端浏览器传递的信息response向客户端浏览器发送信息
PrintWriter out = response.getWrite();
get和post方法的区别
1.安全性 post比get安全 提交的数据不在浏览器地址栏显示
2,处理数据的大小 get处理的数据量小 2k post处理的数据量大 限制64k
3.速度 服务器对get方式提交响应快
servlet嵌套html代码
cookie是一种服务器通过客户端浏览器将用户的信息存储在本地硬盘上的一种技术
session
request.getSession()
session.setAttribute();
session.getAttribute();
session.removeAttribute()
session 是将用户信息保存在服务器端 (string,object)在tomcat中的conf文件夹中,有web.xml,在这个文件内部,有对session存在时间的默认设置 默认为30min
指的是在三十分钟一直没有对session进行操作 而不是累计时间
session的存在是要占用内存的,所以软件公司一般不使用session在服务器端存储信息
修改session的存在时间 session.setMaxInActiveIntervar(second);
Servlet中操作数据库 和jdbc大致相同
隐藏表单 type=hidden 同时会把该信息转发至form里的action 也可以在下一个页面回去该隐藏属性
当某个浏览器访问网站时,服务器会给浏览器分配一个唯一的session id,并依此来区分不同的浏览器
在servlet中添加图片 out.println("<img src= >");
分页技术
查询
select top 3 * from table_name where id not in (select top 3 id from table_name )
rowcount 一共有多少条记录
pagecount 一共有多少页
pagesize 每页显示多少条记录
pagenow 显示第几页
在jdbc中,resultset中 的 rs方法 rs.getInt(1) 表示取出数据库中的数据类型为int的字段,其中列名为1的列
rs.getString(2) 表示取出第二列 string类型的字段
使用一个超链接实现分页 使用一个for循环
初始化变量 int pagesize = 10;
pagenow = 1;
rowcount= 0;
pagecount= 0;
for(int i= 1;i<=pagecount;i++){
<a href="pagenow="+i>i</a>
}
分页:
连接数据库 将数据库中的数据取出 然后 封装到一个实体javabean中,将这个javabean存在一个集合里面 如 arraylist,使用的时候再将其
从arraylist中取出(javabean bean =(javabean)arraylist.get(i);)
servletcontext
servlet操作文件
与session和cookie相比较,servletcontext是在服务器端的一个区域,任意的客户端都可以访问
得到一个servletcontext , 使用this.getServletContext();
添加属性 使用setAttribute(String,object);
获得属性 使用getAttribute(String,object);
由于存放在servletcontext中的数据会长时间的保存在服务器,会占用内存,所以不建议使用servletcontext中添加大数据
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
netstat -an