web服务器程序主要有哪些 web服务器有哪些( 二 )

四、JavaBean4.1 JavaBean的产生背景在JSP网页开发的初级阶段并没有框架与逻辑分层概念 , 需要将Java代码嵌入到网页中处理JSP页面中的一些业务逻辑 , 如字符串处理和数据库操作等 , 其开发流程如图所示 。

4.2 JavaBean的作用如果使HTML与Java代码相分离 , 将Java代码单独封装成为一个处理某种业务逻辑的类 。然后在JSP页面中调用此类 , 则可以降低HTML与Java代码之间的耦合度 , 并且简化JSP页面 , 提高Java程序代码的重用性及灵活性 。这种与HTML代码相分离 , 而使用Java代码封装的类就是一个JavaBean组件 。在Java Web开发可以使用该组件来完成业务逻辑的处理 , 应用JavaBean与JSP组合的开发模式如图所示 。
4.3 JavaBean的应用JavaBean是用Java语言所写成的可重用组件 , 其应用十分广泛 , 可以应用于系统的很多层中 , 如PO、VO、DTO和POJO等 。
五、Servlet用户通过单击某个链接或者直接在浏览器的地址栏中输入URL来访问Servlet , Web服务器接收到请求后 , 并不是将请求直接交给Servlet容器 。Servlet容器实例化Servlet , 调用Servlet的一个特定方法( service() ) , 并产生一个响应 。这个响应由Servlet容器返回给Web服务器 , Web服务器包装这个响应 , 以HTTP响应的形式发送给Web浏览器 。整个过程如图:
六、如何让服务器知道你来过?6.1 Cookie技术Cookie的作用:通俗地说就是当一个用户通过HTTP协议访问一个服务器的时候 , 这个服务器会将一些Key/Value键值对返回给客户端浏览器 , 并给这些数据加上一些限制条件 , 在条件符合时这个用户下次访问这个服务器的时候 , 数据又被完整地带回给服务器 。这个作用就像你去超市购物时 , 第一次给你办张购物卡 , 这个购物卡里存放了一些你的个人信息 , 下次你再来这个连锁超市时 , 超市会识别你的购物卡 , 下次直接购物就好了 。当初W3C在设计Cookie时实际上考虑的是为了记录用户在一段时间内访问Web应用的行为路径 。由于HTTP协议是一种无状态协议 , 当用户的一次访问请求结束后 , 后端服务器就无法知道下一次来访问的还是不是上次访问的用户 , 在设计应用程序时 , 我们很容易想到两次访问是同一人访问与不同的两个人访问对程序设计和性能来说有很大的不同 。例如 , 在一个很短的时间内 , 如果与用户相关的数据被频繁访问 , 可以针对这个数据做缓存 , 这样可以大大提高数据的访问性能 。Cookie的作用正是在此 , 由于是同一个客户端发出的请求 , 每次发出的请求都会带有第一次访问时服务端设置的信息 , 这样服务端就可以根据Cookie值来划分访问的用户了 。

@WebServlet("/CookieTest")public class CookieTest extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setCon百思特网tentType("text/html;charset=utf-8");Cookie[] cookies = request.getCookies();PrintWriter out = response.getWriter();if(cookies!=null){out.println("上次访问的时间是:");for (Cookie cookie : cookies) {if("lastTime".equals(cookie.getName())){long lastTime = Long.parseLong(cookie.getValue());Date date = new Date(lastTime);out.println(date.toLocaleString());}}}else{out.println("你是第一来");}Cookie cookie = new Cookie("lastTime", String.valueOf(System.currentTimeMillis()));//给cookie设置一些信息//cookie.setMaxAge(500); //有效期//cookie.setPath(uri);//服务器端给客户端一个Cookieresponse.addCookie(cookie); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response); }}复制代码

推荐阅读