jsp基础知识点系列

来源:互联网 发布:js split函数 编辑:程序博客网 时间:2024/06/15 01:45

jsp基础知识点

第一部分为 Servlet 技术,包括Servelt入门,会话跟踪,javaMal 和Servlet。
第二部分就是Jsp技术,包括:jsp简介,jsp脚本和指令的使用,jsp隐式对象,JavaBean 与 jsp 中的标准动作,jsp表达式语言,自定义标签,jsp 自定义表签库。
第三部分就是过滤器的设计模式,包括过滤器和MVC设计模式。

一.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时,发生下载提示:

(1).可能性一:text/html;charset=GBK中间分号写成逗号.
(2).可能性二:xml中配置信息出错.
(3).可能性三:如定义全局变量时,例:CONTENT_TYPED在以后所用中放在双引号之中.
(4).可能性四:当上面的text/html,charset中写错字符的时候,也会提示下载.

  • 执行servlet时,发生404错误:

(1).多为xml中配置出错.
(2).可能在servlet通信方法中url出错.
(3).表单提交时:action路径.
(4).比较弱智的错误就是标记写错,请仔细检查.

  • 执行servlet时,发生403错误:

tomcat下站点里发生错误.

  • 执行servlet时,发生405错误:

servlet中没有post提交方法时.

  • 执行servlet时,发生500错误:

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

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

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

多数为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><servlet>    <servlet-name>servletName</servlet-name>    <servlet-class>ServletClass</servlet-class></servlet><servlet-mapping>    <servlet-name>servletName</servlet-name>    <url-pattern>url</url-pattern></servlet-mapping>

配置信息只能读取,并且config是在单个Servlet中能访问,context是全局访问

三.会话跟踪技术总结

  • 用户授权.
  • 隐藏表单域
  • 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数组 String[] cookies = request.getCookies(); //循环读取键与值.

使用过程:
(1).生成cookie, new cookie(“”,”“)
(2).设置生存周期 >0,SetMaxAge(秒).
(3).发送到客户端:response.addCookie(cookie);

  • 小常识:
    (1).一个网站最多向一个客户端写20个cookie.
    (2).一个客户端最多接收300个cookie.

  • 4.Session与Cookie这间的关系:
    session的ID作为Cookie的值在客户端与服务器之间进行传递.

四.构建实体Bean的原则:

/*
* 1.bean类为公有
* 2.类成员为私有
* 3.必有一个无参构造
* 4.有set()和get()方法
* 5.方法命名为setXxx()或getXxx()方法
*/

五.MVC实现数据封装

此数据封装标准按MVC总结.

所需内容: 1.Servlet 2.JavaBean 3.OperBean(DBconnection) 4.Jsp

由Servlet提取前台数据,然后将数据封装于JavaBean中,再实例化OperBean,调用OperBean中方法,
将JavaBean对象以参数的形式传过去,并进行一系列的操作后,返回数据存入ArrayList中或者其它集合内,并将集合对象封装Session对象中,便于在前台取值.

Servlet控制:

 Arraylist lis=new ArrayList(); String name=request.getParameter("username"); JavaBean bean=new JavaBean(); bean.setName(name); OperBean oper=new OperBean(); lis=oper.operMethod(bean); HttpSession session=request.getSession(); session.setAttribute("list",lis);

OperBean逻辑:

 public ArrayList OperMethod(JavaBean bean) {  ArrayList lis=new ArrayList();  String usr=bean.getName("name");  String sql="select * from student where name='"+usr+"'";  DBconnection db=new DBconnection();  ...//操作数据业务  return lis; }

前台业务:

 ArrayList list=(ArrayList)session.getAttribute("lis"); Iterator ite=list.iterator(); while(ite.harNext())  //遍历输出 {  JavaBean bean=(JavaBean)ite.next();  ...  //取bean中值  //由此可以进行"用户登陆","数据的增删改查","注销登陆"等操作..... }

以上所有jsp技术都是没有与struts等框架相关的,只是简单的MVC思想,只有懂得以上简单的思想,才可以进一步的对框架这些高层次的东西钻研…

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 2岁宝宝怕生胆小怎么办 1岁半宝宝认生怎么办 宝宝认人一直哭怎么办 七个月宝宝认人怎么办 一个月宝宝认人怎么办 2个多月宝宝认人怎么办 婴儿认人一直哭怎么办 六个月宝宝认人怎么办 十一个月宝宝断奶后辅食怎么办 6个月宝宝不会坐怎么办 7个月宝宝坐不住怎么办 三个月宝宝白天闹觉怎么办 3个月宝宝不追声怎么办 一岁宝宝垃肚子怎么办 新生儿四天没大便怎么办老放屁 新生儿四五天不大便怎么办 新生儿五天没解大便怎么办 婴儿五天没拉大便怎么办 宝宝45天不拉屎怎么办 儿童4天不大便怎么办 4一5天不大便怎么办 俩月的宝宝便秘怎么办 宝宝6天没大便怎么办 新生儿3天不大便怎么办 50天宝宝几天没有大便怎么办 宝宝一吃奶就拉怎么办 2个月宝宝不拉屎怎么办 吃苹果呛到气管怎么办 三个月宝宝五天没拉大便了怎么办 三个月的宝宝五天不大便怎么办 十天婴儿不大便怎么办 宝宝断奶不喝牛奶怎么办 宝宝喝羊奶大便干燥怎么办 4个月宝宝睡眠少怎么办 8个月婴儿不吃奶粉怎么办 满月的宝宝黄疸高怎么办 刚满月的宝宝黄疸高怎么办 换奶粉孩子不喝怎么办 宝宝整夜哭闹不睡觉怎么办 满月宝宝整夜不睡觉怎么办 6个半月宝宝一喂粥就哭怎么办