Java Web学习笔记目录一、概述 11、java web项目目录结构 11.1、src目录 11.2、WebRoot目录 1二、Servlet 11、访问Servlet的方式 12、Servlet生命周期 23、Servlet处理表单 24、Servlet跳转 34.1、转发与包含 34.2、重定向 35、状态管理 36、作用域对象 4三、JSP 41、基本概念 42、JSP元素 42.1、脚本元素 42.2、指令元素 52.3、动作元素 53、内置对象 54、JSP注释 65、Java Web中的路径问题 6四、过滤器 7五、监听器 7六、JavaBean组件 8七、MVC设计模式 9八、EL表达式 98.1、概述 98.2、EL内置对象 98.3、EL运算符 108.4、在页面中禁止使用EL表达式 10九、JSP标签 109.1、自定义标签 109.2、JSTL标签库 129.2.1、JSP标准标签库 129.2.2、JSTL核心标签库 12一、概述1、java web项目目录结构新建的Java Web项目初始目录结构如图所示:工程项目下有src和WebRoot两个子目录,一般情况下用户会根据具体业务需要,在遵照规范的目录结构基础上,为src和WebRoot目录合理地创建子目录,设计好Java Web应用程序的目录结构。
1.1、src目录src目录存放实现业务逻辑、数据操作、控制程序执行流程、描述实体对象、过滤器、监听器以及系统公用类的Java源代码文献,此外还涉及资源文献1.2、WebRoot目录新建项目初始目录中WebRoot目录下就存在META-INF和WEB-INF两个子目录META-INF目录用来存放包和扩展的配置数据,如安全性、类加载器和版本信息WEB-INF目录包含一个lib目录和一个web.xml文献其中lib目录用来存放Web应用中用到的第三方库文献(*.jar),例如数据库驱动程序web.xml文献是Web应用的部署描述符文献,应用的servlet、初始化参数、过滤器、监听器、应用默认页面以及Web应用一些特殊设立都将在该文献中配置用户在进行Java Web应用开发时,在WebRoot目录下创建一些子目录用来存放JSP文献,HTML文献,style文献,图片文献以及JavaScript脚本等例如,创建子目录userManager,styles,photos和scripts分别用来存放应用中用于实现用户管理模块相关的jsp或者HTML页面文献,控制页面显示风格的CSS样式文献、页面用到的图片文献和页面用到的脚本文献。
二、Servlet1、访问Servlet的方式(1)、直接在浏览器地址栏中输入访问途径来访问Servlet(2)、通过超链接访问ServletServlet可以接受客户端发来的请求,在HTML和JSP中经常使用超链接向Servlet发出访问请求通过超链接访问servlet可以在超链接的href属性中指定值为Servlet的url-pattern值,这种请求方式为GET,响应将执行Servlet中的doGet()方法
Insert title here Run thr FirstServlet doGet方法这样运营该jsp文献,将显示Run thr FirstServlet doGet方法,此为超链接,点击则进入firstServlet的界面3)、通过表单提交访问Servlet表单标记
action的属性值为servlet/firstServlet,表达表单提交请求的目的资源为FirstServlet,method属性值为post,表白表单提交方式为post,将执行Servlet的doPost方法Servlet通过请求对象(Request)获得客户端数据,然后进行相关操作,获得运营结果,通过响应对象(Respose)设立响应参数并将结果返回到客户端2、Servlet生命周期Servlet容器创建Servlet对象,Servlet容器依次调用Servlet对象的init(ServletConfig config)和init()方法然后调用service(ServletRequest request, ServletResponse response)方法,该方法将ServletRequest类型的对象request和ServletResponse类型的response对象转化为相应的HttpServletRequest类型和HttpServletResponse类型对象,然后调用service(HttpServletRequest request, HttpServletResponse response)方法,最后调用doGet(HttpServletRequest request, HttpServletResponse response)或者doPost(HttpServletRequest request, HttpServletResponse response)。
事实上,不管是post方式还是get方式提交请求,都会在service方法中解决当web应用被终止的时候,Servlet容器会先调用Web应用中所有的Servlet对象的destroy()方法3、Servlet解决表单
是的上层标签,
必须在一个里面,它不能单独使用,相称于的属性标签标示一个表格,标示这个表格中间的一个行,| 标示行中的一个列,需要嵌套在 |
中间
换行Servlet通过URL获取参数,这种参数传递方式为GET方式、通过request对象的getParameter方法获得相应的参数 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); String name = request.getParameter("name"); String pass = request.getParameter("pw"); PrintWriter out = response.getWriter(); out.println("name:"+name); out.println("password:"+pass);}http://localhost:8080/javaWebBook/servlet/urldeliverparamServlet?name=jiaminglei&pw=123 这样可以获得输出:name:jiaminglei password:1234、Servlet跳转4.1、转发与包含请求转发是servlet(源组件)先对客户端请求做一些预解决操作,然后把请求转发给其他Web组件(目的组件)来完毕生成响应结果在内的后续操作。
请求包含是Servlet(源组件)把其他Web组件(目的组件)生产的响应结果包含在自身生成的响应结果中Java.servlet.RequestDispatcher接口,定义了forward()和include()方法分别实现了请求转发和请求包含调用这两个方法的时候,把当前的ServletRequest对象和ServletResponse对象作为参数传给他们两种方式获得RequestDispatcher对象:ServletContext.getRequestDispatcher(String path)或者调用ServletRequest.getRequestDispatcher(String path)方法前者path为绝对途径,后者可以是绝对途径也可以是相对途径方法示例:request.getRequestDispatcher(“要跳转的servlet的url”).forward(request,reponse);4.2、重定向重定向是服务器对客户端的请求作出响应,响应的结果是让客户端浏览器去重新发出对此外一个URL的访问请求sendRedirect()方法,源组件和目的组件使用各自不同的ServletRequest对象和ServletResponse对象,源组件和目的组件属于两个独立的访问请求和响应过程。
方法示例:response.sendRedirect(“要重定向的servlet的url”);5、状态管理Cookie通过客户端保持状态是Web服务器通过浏览器保存在客户端硬盘上的一个文本文献,其中保存的是以名/值(name/value)形式存车的文本信息Session可以用来记录浏览器和服务器多次交互过程中需要记录的状态信息,信息以对象的形式存放在服务器的内存中,并且session可存储的类型丰富,数据量大示例代码:创建CookieCookie c1 = new Cookie("username", username); Date date = new Date(); Cookie c2 = new Cookie("lastcall", date.toString()); c1.setMaxAge(60*60*24*30); c2.setMaxAge(60*60*24*30); response.addCookie(c1); response.addCookie(c2);获取Cookie Cookie[] cookies = req.getCookies(); Cookie cookie=null; for(int i=0; i"); } if(cookie.getName().equals("lastcall")){ out.println("上次登录时间:"+cookie.getValue()+"
"); } }6、作用域对象。
下载提示