`
mrzhangtufu
  • 浏览: 61965 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JSP学习回忆2

    博客分类:
  • jsp
阅读更多

1、JAVA术语:i18n:internationalization(国际化)缩写
      l10n:localization(本地化)缩写
2、JSP中文乱码解决方法:
在Tomcat5中修改server.xml:
    <Connector
port="8888"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000"
               disableUploadTimeout="true" URIEncoding="GBK"/>
在java程序中添加:response.setContentType("text/html;charSet=GBK");
在MySQL创建表时在后面加 default charset=GBK
在JSP页面头部加上:<%@page contentType="text/html;charset=GBK"%>//charset要全部小写
连接数据库时:con=DriverManager.getConnection("jdbc:mysql://localhost/tbtest?user=&
password=&useUnicode=true&characterEncoding=GBK"); //一般不需要
在html页头部添加:<META http-equiv=Content-Type content="text/html;charset=GBK">
3、JSP2.0新特性:简单标签类:
必须实现javax.servlet.jsp.tagext.SimpleTag或继承其辅助类SimpleTagSupport,SimpleTag接口
方法主要有:
doTag(), setParent(JspTag parent), getParent(), setJspContext(JspContent pc),
setJspBody(JspFragment jspBody)
辅助类SimpleTagSupport增加了:
getJspBody()返回一个JspFragment对象,该对象封装了标签体的内容
findAncestorWithClass(JspTag form,java.util.Class class)
注意:在<tag>标签中的<body-content>中必须是scriptless或empty,即<body-content>scriptless</body-content>
4、JSP用SAX(Simple API for XML)方法分析:采用事件驱动的方法
  //1、用SAXParserFactory.newInstance()获取 SAXParserFactory 的一个新实例
  SAXParserFactory spfact=SAXParserFactory.newInstance();
  //validating - 如果由此代码生成的解析器在解析文档时验证文档,则为 true;否则为 false。
  spfact.setValidating(false);
  //2、使用上面获得的SAXParserFactory实例的newSAXParser()获得一个新的SAXParser实例
  SAXParser saxParser=spfact.newSAXParser();
  //3、用上面创建的SAXParser实例的getXMLReader()得到一个XMLReader实例
  XMLReader reader=saxParser.getXMLReader();
  //4、用指定的(将由Bean传入)文件名创建一FileReader对象
  FileReader file=new FileReader(filename);
  //5、允许应用程序注册内容事件处理程序。
  //如果应用程序不注册内容处理程序,则将默默地忽略由 SAX 解析器报告的所有内容事件
  reader.setContentHandler(this);//本类继承自DefaultHandler <- ContentHandler
  //6、用XMLReader的parse(InputSource)分析
  reader.parse(new InputSource(file));//parse()中自动调用以下的startElement(),endElement(),characters()
  //或直接用SAXParser的parser(InputSource,DefaultHandler)分析也可以
  //saxParser.parse(new InputSource(file), this);
  return taskvect;
5、JSP用DOM(Document Object Model)方法分析:
package xml.DOM;
public class DOMParser
{
public static String filename="D://JAVA//MyApps//JAVA WEB//JSP and XML//WEB-INF//classes//xml//DOM//tasklist.xml";
public static void setFilename(String filename){
  DOMParser.filename=filename;
}
public DOMParser(){}
public static org.w3c.dom.Document parse(){
  try{
   //1、得到一个DocumentBuilderFactory实例
   javax.xml.parsers.DocumentBuilderFactory dbf=
    javax.xml.parsers.DocumentBuilderFactory.newInstance();
   //2、得到一个DocumentBuilder对象
   javax.xml.parsers.DocumentBuilder db=dbf.newDocumentBuilder();
   //3、用DocumentBuilder.parse()分析XML文件,返回一个org.w3c.dom.Document对象
   org.w3c.dom.Document doc=db.parse(new java.io.File(filename));
   return doc;
  }catch(javax.xml.parsers.ParserConfigurationException pe)
  {
   System.out.println("ParserConfigurationException");
  }catch(org.xml.sax.SAXException se){
   System.out.println("SAXException");
  }catch(java.io.IOException ie){
   System.out.println("IOException");
  }
  return null;
}
// 自定义得到根节点的方法和得到子节点值的方法,方便在JSP页面的使用
public static org.w3c.dom.Element getRoot(String filename){
  DOMParser.setFilename(filename);
  org.w3c.dom.Document doc=DOMParser.parse();
  org.w3c.dom.Element root=doc.getDocumentElement();
  return root;
}
public static String getElementValue(org.w3c.dom.Element parent,String tagname,
   int i){
  org.w3c.dom.NodeList nodes=parent.getElementsByTagName(tagname);
  org.w3c.dom.Element node=(org.w3c.dom.Element)nodes.item(i);
  String elementValue=node.getFirstChild().getNodeValue();
  return elementValue;
}



/*在Console的测试,需要更改上面的static*/
/*
public static void main(String args[]){
  DOMParser dp=new DOMParser();
  dp.setFilename("D://JAVA//MyApps//JAVA WEB//JSP and XML//WEB-INF//classes//xml//DOM//tasklist.xml");
  org.w3c.dom.Document doc=dp.parse();
  //得到Document的根:getDocumentElement()直接得到XML文档的根
  org.w3c.dom.Element root=doc.getDocumentElement();
  System.out.println("根节点是:"+root);
  
  //下面进行遍历XML文档
  //1、由根节点,得到根节点下的所有的<task>,组成一个NodeList
  org.w3c.dom.NodeList task=root.getElementsByTagName("task");
  for (int i=0; i<task.getLength(); i++){//遍历每个tasklist子标签,即task标签
   //2、获得一个<task>元素(Element继承自Node,代表XML中的一个元素)
   org.w3c.dom.Element taskE=(org.w3c.dom.Element)task.item(i);
   String id=taskE.getAttribute("id");//得到<task>的属性id的值
  
   //-------开始进行<taskid>获取
   //3、得到<task>下的<taskid>属性的信息:
   //3_1、得到所有的<taskid>属性(NodeList) (可以有多个<taskid>,下面返回它们组成的一个节点链)
   org.w3c.dom.NodeList taskids=taskE.getElementsByTagName("taskid");
   //3_2、得到指定位置的<taskid>元素(ELement),这里是第一个<taskid>
   org.w3c.dom.Element taskidE=(org.w3c.dom.Element)taskids.item(0);
   //3_3、得到<taskid>元素第一个子节点,并由此得到该子节点的值
   String taskid=taskidE.getFirstChild().getNodeValue();
   //下面这样得到的是:[#text:+(上面方法得到的)]
   //String taskid=taskidE.getFirstChild().toString();
   //------获得<taskid>完毕
  
   org.w3c.dom.NodeList namels=taskE.getElementsByTagName("name");
   org.w3c.dom.Element nameE=(org.w3c.dom.Element)namels.item(0);
   String name=nameE.getFirstChild().getNodeValue();
  
   org.w3c.dom.NodeList startls=taskE.getElementsByTagName("start");
   org.w3c.dom.Element startE=(org.w3c.dom.Element)startls.item(0);
   String start=startE.getFirstChild().getNodeValue();
  
   org.w3c.dom.NodeList endls=taskE.getElementsByTagName("end");
   org.w3c.dom.Element endE=(org.w3c.dom.Element)endls.item(0);
   String end=endE.getFirstChild().getNodeValue();
  
   System.out.println("ID:"+id+"  taskid:"+"  name:"+name+
     "  start:"+start+"  end:"+end);
  
  }
}*/
}

分享到:
评论

相关推荐

    看看动态页面技术小结jsp

    对 JSP 的 简单总结 ,看到这个就可以 回忆起 你学习的jsp 的经历 ...

    jsp网站开发

    2. **Tomcat**:Tomcat是一款开源的Java Servlet容器,用于部署和运行Java Web应用,包括JSP和Servlet。下载Tomcat压缩包,解压后配置环境变量,并在命令行中通过启动脚本来启动服务器。 对于【需求分析】,在开发...

    310JSP校友录

    《310JSP校友录》是一个基于Java服务器页面(JSP)技术开发的校友录管理系统,旨在为校友提供一个互动...对于开发者而言,这是一个学习和实践JSP及Web开发技术的良好案例。而对于用户,它则是一个便捷的校友交流工具。

    JAVA JSP+SQL校友录系统.zip

    《JAVA JSP+SQL校友录系统:构建与实现详解》 在信息技术日益发达的今天,构建一个校友录管理系统已经...对于学习和理解JAVA Web开发的学生来说,这是一个很好的毕业设计项目,可以锻炼实际操作能力和问题解决能力。

    JSP网上校友录设计(源代码+文档).rar

    **JSP网上校友录设计** 是一个基于JavaServer Pages(JSP)技术的Web应用程序,旨在构建一个在线平台,让校友能够相互联系、分享信息和回忆。这个项目不仅提供了源代码,还有相关的文档,帮助开发者理解和学习如何...

    JSP网上校友录设计(源代码+论文).zip

    《JSP网上校友录设计》是一个基于Java Server Pages(JSP)技术的Web应用程序,用于构建一个在线平台,让校友能够相互联系、分享信息和回忆。这个项目包含了完整的源代码和相关的论文文档,为学习者提供了实践JSP...

    jsp设计的同学录

    【jsp设计的同学录】是一个基于JavaServer Pages ...这个同学录项目对于学习JSP开发和理解Web应用程序架构是一个很好的实践案例。通过实际操作,开发者可以深入理解前后端交互、数据库操作以及Web应用的完整生命周期。

    基于springboot的班级回忆录源码数据库.zip

    《基于SpringBoot的班级回忆录源码数据库》项目是一份典型的Java毕业设计作品,它结合了SpringBoot、SSM(Spring、SpringMVC、MyBatis)和JSP技术,旨在构建一个线上平台,用于存储和展示班级的珍贵回忆。...

    a_jspCRUDDemo

    通过分析这个项目,我们可以学习到JSP的语法、如何在JSP中使用EL(表达式语言)和JSTL(JavaServer Pages Standard Tag Library)简化编程,以及如何与JavaBean或Servlet协作完成业务逻辑。此外,还能了解如何配置和使用...

    回忆造形留言板SK-Gbook v0.01

    综上所述,《回忆造形留言板SK-Gbook v0.01》作为一款开源的留言板系统,提供了丰富的学习和开发机会。无论是对初学者还是经验丰富的开发者,都可以从中获取关于Web开发、用户交互设计以及服务器端脚本处理等方面的...

    品红company

    总之,“品红company”项目展示了如何利用JSP和MySQL搭建一个完整的电子商务平台,涵盖了前端展示、后端处理和数据库管理等多个方面,是学习Web开发的典型实例。开发者可以通过研究这个项目,深入理解和实践Web应用...

    2022《Java Web开发实战经典》总结.docx

    总的来说,《Java Web开发实战经典》为读者提供了一条系统学习Java Web开发的路径,涵盖了从基础HTML和JavaScript到高级Servlet、JSP和Ajax的全面知识,是准备相关考试或从事Java Web开发工作的宝贵参考资料。...

    基于Java web的校友录管理系统设计与实现(源码+数据库+运行视频).zip

    本项目不仅可以作为毕业设计或课程设计的参考案例,也可应用于实际的校友会、同学会等组织,为校友们提供一个线上互动的平台,方便大家交流信息、分享回忆,增强彼此的联系。 总结,基于Java Web的校友录管理系统是...

    2022年JAVA程序员求职信例文.docx

    在求职信中,提到JSP编程基础的学习和应用。 8. SQL Server数据库设计:SQL Server数据库设计是计算机科学中的一门基础学科,它研究SQL Server数据库的设计和应用。在求职信中,提到SQL Server数据库设计的学习和...

    javaweb的struts2银行简易系统

    这个"javaweb的struts2银行简易系统"的实现,不仅可以帮助开发者理解Struts2框架的基本使用,还可以深入学习如何在实际项目中结合银行业务逻辑来设计和实现Web应用。通过这个系统,你可以实践如何组织Action、配置...

    九宫格日记软件

    九宫格日记软件的设计灵感来源于中国古代的九宫格阵法,将每一天的生活分为九个部分,分别对应不同的主题或情感,如工作、学习、健康、家庭、友情等。这样的布局使得日记内容更加结构化,帮助用户全面回顾一天的生活...

    毕业设计__系友录ByJavaweb.zip

    2. **后端技术**:Java是后端的主要编程语言,Servlet和JSP(JavaServer Pages)是处理HTTP请求、生成动态内容的重要工具。可能还涉及Spring框架,用于依赖注入、AOP(面向切面编程)等高级功能。 3. **数据库管理*...

Global site tag (gtag.js) - Google Analytics