Servlet开发整理
2016-02-24 14:50
417 查看
动态网页技术的发展:
cgi->asp=html+javascript+com组件->php->jsp=html+java片段+jsp语法+js
Jsp要求运行的机器配置要高,因为jsp是用class常驻内存的方式运行的,效率高,但是需要占用更多的内存。
b/s 模式 服务器浏览器模式
c/s 模式 服务器客户端模式
Servlet(java 服务器小程序)是用java编写的服务器程序,它的特点:
1、 它是由服务器端调用和执行的
2、 它是用java语言编写的
3、 它是按照servlet规范开发的
4、 功能强大,可以完成几乎所有的网站功能
5、 是学习jsp的基础
开发servlet三种方法
① 实现servlet接口
② 继承GenericServlet
③ 继承HttpServlet
实现servlet接口
调用destory()函数
① reload该servlet
② 关闭tomcat
③ 关机
Servlet的生命周期
继承接口方法开发servlet
通过继承GenericServlet 开发servlet
通过GenericServlet去开发servlet,只需要重写service方法
一个案例
代码如下:
通过继承HttpServlet来开发servlet
一个案例
代码如下
同一用户的不同页面共享数据
SendRedirect()方法
例如:
传递的页面Res.sendRedict(“wel?uname=”+u+”&pswd=”+p);//会在地址栏显示用户名和密码
接收的页面 String u=req.getParameter(“uname”); System.out.println(u);
用HIDDEN方法来实现
Session
Session是属于双击一次打开的一个浏览器的,而不是属于客户端的
操作session,由上图可以看到session是存在服务器端的,而cookie是存在客户端的
Session是非常重要的,在网站开发中可以完成的功能很多比如:
网上商城的购物车,保存登陆用户的信息,将某些数据放入到session中,供同一个用户的各个页面使用,防止用户非法登陆到某个页面。
String sessionId=hs.getId(); //用于得到session的id
设置session的默认时间(发呆时间 ),默认是秒
Hs.setMaxInactiveInterval(30);
也可以通过设置时间为0来注销session
在servlet中显示图片,只需要用html显示图片就好了
分页
Cookie
服务器在客户端保存用户的信息,比如用户名,密码,就是cookie
Cookie和session的比较
ServletContext
多个用户共享同一数据,一个公共的空间,可以被所有用户访问
注意事项
因为存在servletContext中的数据会长时间的保存在服务器,会占用内存,因为不建议向servletContext中添加过大的数据。
如果是涉及到不同用户共享数据,而这些数据量不大,同时又不希望写入数据库中,我们就可以考虑使用servletContext
Servlet中操作文件
因为servlet本来就是一个java文件,所以和java文件操作文件是一样的。
一个案例:
代码如下:对文件的读操作
显示用户的IP地址
Req.getRemoteAddr();
显示用户的主机名
Req.getRemoteHost();
cgi->asp=html+javascript+com组件->php->jsp=html+java片段+jsp语法+js
Jsp要求运行的机器配置要高,因为jsp是用class常驻内存的方式运行的,效率高,但是需要占用更多的内存。
b/s 模式 服务器浏览器模式
c/s 模式 服务器客户端模式
Servlet(java 服务器小程序)是用java编写的服务器程序,它的特点:
1、 它是由服务器端调用和执行的
2、 它是用java语言编写的
3、 它是按照servlet规范开发的
4、 功能强大,可以完成几乎所有的网站功能
5、 是学习jsp的基础
开发servlet三种方法
① 实现servlet接口
② 继承GenericServlet
③ 继承HttpServlet
实现servlet接口
调用destory()函数
① reload该servlet
② 关闭tomcat
③ 关机
Servlet的生命周期
继承接口方法开发servlet
通过继承GenericServlet 开发servlet
通过GenericServlet去开发servlet,只需要重写service方法
一个案例
代码如下:
package com.no2; import javax.servlet.*; import java.io.*; public class HelloGeneric extends GenericServlet{ public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { // TODO Auto-generated method stub PrintWriter pw=res.getWriter(); pw.println("hello genericservlet"); } }
通过继承HttpServlet来开发servlet
一个案例
代码如下
package com.no3; import java.io.*; import javax.servlet.*; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HelloHttp extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res){ try { PrintWriter pw=res.getWriter(); pw.print("hello http"); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } public void doPost(HttpServletRequest req,HttpServletResponse res){ this.doGet(req, res); } }
同一用户的不同页面共享数据
SendRedirect()方法
例如:
传递的页面Res.sendRedict(“wel?uname=”+u+”&pswd=”+p);//会在地址栏显示用户名和密码
接收的页面 String u=req.getParameter(“uname”); System.out.println(u);
用HIDDEN方法来实现
Session
Session是属于双击一次打开的一个浏览器的,而不是属于客户端的
操作session,由上图可以看到session是存在服务器端的,而cookie是存在客户端的
Session是非常重要的,在网站开发中可以完成的功能很多比如:
网上商城的购物车,保存登陆用户的信息,将某些数据放入到session中,供同一个用户的各个页面使用,防止用户非法登陆到某个页面。
String sessionId=hs.getId(); //用于得到session的id
设置session的默认时间(发呆时间 ),默认是秒
Hs.setMaxInactiveInterval(30);
也可以通过设置时间为0来注销session
在servlet中显示图片,只需要用html显示图片就好了
分页
Cookie
服务器在客户端保存用户的信息,比如用户名,密码,就是cookie
Cookie和session的比较
ServletContext
多个用户共享同一数据,一个公共的空间,可以被所有用户访问
注意事项
因为存在servletContext中的数据会长时间的保存在服务器,会占用内存,因为不建议向servletContext中添加过大的数据。
如果是涉及到不同用户共享数据,而这些数据量不大,同时又不希望写入数据库中,我们就可以考虑使用servletContext
Servlet中操作文件
因为servlet本来就是一个java文件,所以和java文件操作文件是一样的。
一个案例:
代码如下:对文件的读操作
package com; import java.io.*; import javax.servlet.*; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ServletIo extends HttpServlet{ public void doGet(HttpServletRequest r 4000 eq,HttpServletResponse res){ try { res.setContentType("text/html;charset=gbk"); FileReader fr=new FileReader("D:/ab.txt"); BufferedReader br=new BufferedReader(fr); String sw=br.readLine(); br.close(); PrintWriter pw=res.getWriter(); pw.print("读出的数据是"+sw); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } public void doPost(HttpServletRequest req,HttpServletResponse res){ this.doGet(req, res); } }
显示用户的IP地址
Req.getRemoteAddr();
显示用户的主机名
Req.getRemoteHost();
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序