今天学会了如何自己编写 JSP 用来处理 CKEditor 的图片上传。
<%@ page import="org.apache.commons.fileupload.FileItem" %>
<%@ page import="java.util.List" %>
<%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory" %>
<%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload" %>
<%@ page import="org.apache.commons.io.FilenameUtils" %>
<%@ page import="java.io.File" %>
<%@ page import="org.apache.commons.lang.StringUtils" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
String callback = request.getParameter("CKEditorFuncNum");
try {
if (ServletFileUpload.isMultipartContent(request)) {
ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
List<FileItem> fileItemsList = servletFileUpload.parseRe ......
jsp(java server pages)是一种技术,用来处理客户端请求的,(目的是为了达到动态网页的效果),处理后传给客户端(也可以说给了浏览器),就成了我们看到的静态网页(HTML)
HTML 加入Java代码(比如<%...%>)不会又任何效果,只会讲<%...%>显示到页面行,或者根据位置影响编译. JSP(Java Server Page)页面其实就是在HTML代码中加入Java代码和Jsp标签的页面, JSP是服务端页面,在服务器是可以看到Java代码的,但是在客户端只能看到根据Java代码和Jsp标签生成之后的静态页面.
有jsp后缀的就叫jsp页面,因为有jsp后缀的会被web容器(如tomcat)解释成servlet,变成.class的java可执行文件
HTML文件只是单纯的HTML语言.不包含JAVA脚本.因此不需要WEB服务器例如TOMCAT等解析就可以直接浏览.
JSP页面就是HTML+JAVA脚本的页面.必须只有后缀名为JSP的才可以包含JAVA脚本.并且需要WEB服务器才能浏览。
在HTML里面和JSP里面 写JAVASCRIPT在任何位置用<script type='JavaScript'></script>中间写就行 ......
jsp(java server pages)是一种技术,用来处理客户端请求的,(目的是为了达到动态网页的效果),处理后传给客户端(也可以说给了浏览器),就成了我们看到的静态网页(HTML)
HTML 加入Java代码(比如<%...%>)不会又任何效果,只会讲<%...%>显示到页面行,或者根据位置影响编译. JSP(Java Server Page)页面其实就是在HTML代码中加入Java代码和Jsp标签的页面, JSP是服务端页面,在服务器是可以看到Java代码的,但是在客户端只能看到根据Java代码和Jsp标签生成之后的静态页面.
有jsp后缀的就叫jsp页面,因为有jsp后缀的会被web容器(如tomcat)解释成servlet,变成.class的java可执行文件
HTML文件只是单纯的HTML语言.不包含JAVA脚本.因此不需要WEB服务器例如TOMCAT等解析就可以直接浏览.
JSP页面就是HTML+JAVA脚本的页面.必须只有后缀名为JSP的才可以包含JAVA脚本.并且需要WEB服务器才能浏览。
在HTML里面和JSP里面 写JAVASCRIPT在任何位置用<script type='JavaScript'></script>中间写就行 ......
Ajax和jsp的怪现象
如果用Ajax去请求一个jsp页面,该jsp页面返回的是xml(response.setContentType("text/xml; charset=GB2312");),并且该jsp包含下面这些头@page指令的话,则在客户端xml=XMLHttpRequest.responseXML得到的是一个不包含任务东西的xml对象,即xml.childNodes.length将会是0.
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="com.suntek.notes.sql.DBGrid"%>
<%@ page import="java.util.Vector" %>
原因是以上的@page指令(其实是任何一个指令)会产生空行。即在jsp里边的out.print(xml)到客户端的之前,已经有空行输出了。解决办法可以是去掉上面的语句,或把jsp改为servlet
同时,jsp里边的任何空行都有可能会导致同样的问题。
应该用servlet较好。
......
Ajax和jsp的怪现象
如果用Ajax去请求一个jsp页面,该jsp页面返回的是xml(response.setContentType("text/xml; charset=GB2312");),并且该jsp包含下面这些头@page指令的话,则在客户端xml=XMLHttpRequest.responseXML得到的是一个不包含任务东西的xml对象,即xml.childNodes.length将会是0.
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="com.suntek.notes.sql.DBGrid"%>
<%@ page import="java.util.Vector" %>
原因是以上的@page指令(其实是任何一个指令)会产生空行。即在jsp里边的out.print(xml)到客户端的之前,已经有空行输出了。解决办法可以是去掉上面的语句,或把jsp改为servlet
同时,jsp里边的任何空行都有可能会导致同样的问题。
应该用servlet较好。
......
Ajax和jsp的怪现象
如果用Ajax去请求一个jsp页面,该jsp页面返回的是xml(response.setContentType("text/xml; charset=GB2312");),并且该jsp包含下面这些头@page指令的话,则在客户端xml=XMLHttpRequest.responseXML得到的是一个不包含任务东西的xml对象,即xml.childNodes.length将会是0.
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="com.suntek.notes.sql.DBGrid"%>
<%@ page import="java.util.Vector" %>
原因是以上的@page指令(其实是任何一个指令)会产生空行。即在jsp里边的out.print(xml)到客户端的之前,已经有空行输出了。解决办法可以是去掉上面的语句,或把jsp改为servlet
同时,jsp里边的任何空行都有可能会导致同样的问题。
应该用servlet较好。
......
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。目前在微软的 .net 战略中新推出的ASP.net 借鉴了Java技术的优点,使用C Sharp (C#) 语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的 Windows NT/2000/XP + IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行A ......
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。目前在微软的 .net 战略中新推出的ASP.net 借鉴了Java技术的优点,使用C Sharp (C#) 语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的 Windows NT/2000/XP + IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行A ......
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。目前在微软的 .net 战略中新推出的ASP.net 借鉴了Java技术的优点,使用C Sharp (C#) 语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的 Windows NT/2000/XP + IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行A ......
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。目前在微软的 .net 战略中新推出的ASP.net 借鉴了Java技术的优点,使用C Sharp (C#) 语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的 Windows NT/2000/XP + IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行A ......
Login.java
/******************************************************/
注意:由于在jsp中创建Cookie时,必须保证Cookie创建语句写在jsp页面头部的<jsp:include page="includes\head.jsp" flush="true" />标签之前才会生效,否则手动添加的Cookie失败。
所以我决定讲创建Cookie语句放在servlet内。
String ischeck = request.getParameter("isMemPassword
");
try {
if(ischeck.equals("on")){
//表示用户点击了【记住密码】按钮
//创建cookie
  ......
<%@ page import="java.sql.*,java.io.*" %>
<%
int intPage;//待显示的页码
int pageSize;//每页显示的条目
int pageCount;//总页数
int rowCount;//记录总数
String strPage;//获取待显示页码
pageSize=12;//设置每页显示条数
Connection con;//连接对象
Statement stmt;//数据库对象
ResultSet rs;//结果集
String strCon;//连接字符串
strPage=request.getParameter("page");
if(strPage==null)
{
int page=1;
}
else
{
intPage=Integer.parseInt(strPage);
if(intPage<1)
intPage=1;
}
//装载SQL驱动
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e)
{
out.print("加载驱动错误");
}
//设置连接字符串
strCon="jdbc:mysql://localhost:3306/database";
//连接数据库
con=DriverManager.getConnection(strCon,"root","");
stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
//设置sql语句
strSql="select * from bwf_appraise order by appraiseDate ......