日期:2014-05-16  浏览次数:20459 次

JSP入门需要知道的五个方面


本文是一个JSP入门的简单的总结性文章,从Servlet知识及常见错误和规律、XML配置方面、会话跟踪技术方面、构建实体Bean的原则方面、MVC实现数据封装方面等介绍了JSP入门的知识。
对于JSP入门的人来说,点点滴滴的基础知识是很重要的,从最简单的工具Jcreater4.0开始入手,到拥有Ecliplse之后的快速开发,对于一个初学者都是一个成长的过程。

那么现在开始我们的话题,JSP入门,包括Servlet技术(Servelt入门,会话跟踪,JavaMal和Servlet.)、JSP技术(JSP简介,JSP脚本和指令的使用,JSP隐式对象,JavaBean与JSP中的标准动作,JSP表达式语言,自定义标签,JSP自定义表签库)、过滤器的设计模式(过滤器和MVC设计模式.)

一.JSP入门之Servlet知识及常见错误和规律.

1.桌面运行程序与WEB应用程序在过程实质是一样的---基于请求与响应的过程.

2.http协议(超文本传输协议)

◆无状态:多次请求信息之间无联系.

◆用于internet发送请求和响应消息

◆使用端口接收和发送消息,默认为80端口.

端口:为内存缓冲区(多线程接收数据)

3.什么是Servlet?

Server let服务器端小程序.

用来处理客户端发送的请求,并由服务器响应给客户端的java编写的程序.

Servlet只在服务器运行

4.Servlet详解:

◆源码演示:

import java.io.*;? import javax.servlet.*;? import javax.servlet.http.*;? import java.util.*;? public class MyServlet extends HttpServlet? {??????????? public void doGet(HttpServletRequest request,HttpServletResponse response)????????????????????????? throws ServletException,IOException??????????? {???????????????????????? response.setContentType("text/html;charset=gb2312");???????????????????????? request.setCharacterEncoding("gb2312");????????????????????????????? response.sendRedirect("Login.jsp"); //重定向方法????????????????????????? request.getParameter("");? //读取客户端数据????????????????????????? / /以下方法为转发,不同于重定向的是:转发时数据不丢失.??????????????????????? ServletContext context=this.getServletContext();??????????????????????? RequestDispatcher dispatcher=context.getRequestDispatcher("/welcome.jsp");??????????????????????? dispatcher.forward(request,response);???????????????????????????? ...//以下方法为包含(用得相对较少)?????????????????????? dispatcher.include(request,response);???????????? }?????????? public void doPost(HttpServletRequest request,HttpServletResponse response)????????????????????????? throws ServletException,IOException?????????? {?????????????????????? doGet(request,response);?????????? }? }?? ◆当需要向Servlet传递参数的时候,Src="Servlet?name=' '? ";

5.执行servlet时,发生下载提示:

◆可能性一:text/html;charset=GBK中间分号写成逗号.

◆可能性二:XML中配置信息出错.

◆可能性三:如定义全局变量时,例:CONTENT_TYPED在以后所用中放在双引号之中.

◆可能性四:当上面的text/html,charset中写错字符的时候,也会提示下载.

6.执行servlet时,发生404错误:

◆多为xml中配置出错.

◆可能在servlet通信方法中url出错.

◆表单提交时:action路径.

◆比较弱智的错误就是标记写错,请仔细检查.

7.执行servlet时,发生403错误:

◆tomcat下站点里发生错误.

8.执行servlet时,发生405错误:

◆servlet中没有post提交方法时.

9.执行servlet时,发生500错误:

◆多数为servlet程序代码中发生异常错误.

10.执行时,取出的数据为null.就要根据实际情况对应错误提示去找.

11.执行jsp页时,发生500错误提示....

◆多数为jsp页面在转译过程中发生编译错误! 甚是严重错误,可以按提示回头去找...

二.JSP入门之XML配置方面

◆源码演示

﹤!--config中的配置信息,当中配置需要在servlet中的xml中--﹥? ﹤servlet﹥?? ﹤init-param﹥??? ﹤param-name﹥sess﹤/param-name﹥??? ﹤param-class﹥com.serv﹤param-class﹥?? ﹤/init-param﹥????? ﹤servlet-name﹥Myservlet﹤/servlet-name﹥????? ﹤servlet-class﹥com.Myservetl﹤/servlet-class﹥? ﹤/servlet﹥?? ﹤!--此为对Myservlet进行映射--﹥? ﹤servlet-mapping﹥?? ﹤servlet-name﹥Myservlet﹤/servlet-name﹥?? ﹤servlet-class﹥/url﹤/servlet-class﹥? ﹤servlet-mapping﹥?? ﹤!--context中配置信息--﹥? ﹤context-param﹥?? ﹤param-name﹥ses﹤/param-name﹥?? ﹤param-class﹥com.ser﹤/param-class﹥? ﹤/context-param﹥??
◆配置信息只能读取,并且config是在单个Servlet中能访问,context是全局访问

三.JSP入门之会话跟踪技术方面

◆用户授权

◆隐藏表单域

◆URL重写

◆Cookie使用

1.会话:是同一客户端和服务器之间在同一段时间的多次请求和响应.

2.Session使用(重点)

HttpSession session=request.getSession();? session.setAttribute("name",Object); //附值? session.getAttribute(); //取值? session.removeAttributer(); 3.Cookie(类)

1).Cookie是什么?

cookie是一段字符串,由HTTP支持,在客户端可以永久保存.写入(硬盘).

每次请求,响应中都会为cookie留有空间.

2).用法:

Cookie cookie=new Cookie("name",cookie); //必须指定cookie的键与值,且必须为字符串.? response.addcookie(cookie);? cookie.setMaxAge(3600);? //以秒为单位.????? //读取客户端发送过来的cookie,返回值类型为: cookie数组? request.getCookies();? //循环读取键与值. 使用过程:

(1).生成c