一、 1、 请建立一个servlet类用于显示当前的系统时间。写出它的url配置写法 import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class getdate extends HttpServlet { public getdate() { } public void destroy() { } public void doGet(HttpServletRequest request, HttpServletResponse response) } public void doPost(HttpServletRequest request, HttpServletResponse response) super(); super.destroy(); // Just puts \ // Put your code here throws ServletException, IOException { this.doPost(request, response); throws ServletException, IOException { response.setContentType(\); String date; Date date1=new Date(); SimpleDateFormat format=new SimpleDateFormat(\ date=format.format(date1); PrintWriter out = response.getWriter(); out .println(\HTML PUBLIC \\\HTML 4.01 h:m:s\); Transitional//EN\\\); out.println(\); out.println(\); out.println(\); out.print(date); out.println(\); 实 验 过 程 、 结 果 及 分 析 2、领会多用户并发访问的机制,请建立一个HttpServlet——“servletUsers”类,在该类的成员代码如下: public class serveltUsers extends HttpServlet { private Integer x=1; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(\); response.setCharacterEncoding(\); PrintWriter out = response.getWriter(); out.println(\4.01 Transitional//EN\\\); out.println(\); out.println(\); out.println(\); out.println(\当前x的值是\+x); out.flush(); synchronized (x) { Thread thread=Thread.currentThread(); try { thread.sleep(1000*5); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); x++; } out.println(\当前serlvet实例阻塞5秒后,当前x的值是\+x); out.println(\); out.println(\); out.flush();out.close(); } } 请在5秒内用两个浏览器窗口浏览该HttpServlet类,看看效果如何。为什么是这个效果! 响应等待几秒钟 后显示X的值为2 首先X是一个全局变量 X的自增语句加锁了 所以会响应等待 实 验 过 程 、 结 果 及 分 析 三、 1、 请设计一种过滤器实现权限控制机制。如果用户进入web应用没有登入时,要求用户必须进入登入页面。 package filter.userfilter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class userfilters implements Filter{ public void destroy() { } public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { HttpServletRequest request=(HttpServletRequest)arg0; HttpServletResponse response=(HttpServletResponse)arg1; response.setCharacterEncoding(\ request.setCharacterEncoding(\ HttpSession session=request.getSession(); String name=(String)session.getAttribute(\ if(name==null){ response.sendRedirect(\ } else{ arg2.doFilter(request, response); } } public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub } }
相关推荐: