易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : jsp

<%@include 和

   相同点:
   如果被包含进去的文件里面有css文件的话,包含的页面会受到被包含文件的css样式的影响!
   不同点:
<%@ include
file="date.jsp" %>
<jsp:include
page="date.jsp" flush="true"/>
include
编译指令是在
JSP
程序的转换时期就将
file
属性所指定的程序内容嵌入,然后再编译执行;
还有就是如果包含.jsp的文件的话,经常路径会出现问题。

include
指令在转换时期是不会被编译的,只有在客户端请求时期如果被执行到才会被动态的编译载入
只生成一个
class
文件
多个
Include
不能带参数
 
<jsp:include>
可以
 
同一个
request
对象
不同的
request
对象,可以取得包含它的页面的参数,并添加了自己的参数
常用
不常用
......

JSP文件下载、上传

JSP文件下载-----------------------------------------------------------------
<%@ page contentType="text/html; charset=GBK"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page import="java.io.File"%>
<%@page import="java.io.InputStream"%>
<%@page import="java.io.FileInputStream"%>
<%
String path = request.getParameter("path") ;
if(path==null || "".equals(path)){
out.write("<mce:script type="text/javascript"><!--
") ;
out.write("alert('要下载的文件不存在');") ;
out.write("history.go(-1);") ;
out.write("
// --></mce:script>") ;
}
String realPath = "c:/myfile/正文.doc" ;
File file = new File(realPath) ;
if(!file.exists()){
out.write("<mce:script type="text/javascript"><!--
") ;
out.write("alert('要下载的文件不存在');") ;
out.write("history.go(-1);") ;
out.write("
// --></mce:script>") ;
......

JSP中获取当前绝对路径

错误: 
String realPath  =   " http:// "   +  request.getServerName()  +   " : "   +  request.getServerPort()  +  request.getContextPath();
String realPath  =   " http:// "   +  request.getServerName()  +   " : "   +  request.getServerPort()  +  request.getServletPath();
  正确: 
String realPath  =   " http:// "   +  request.getServerName()  +   " : "   +  request.getServerPort()  +  request.getContextPath() + request.getServletPath().substring( 0 ,request.getServletPath().lastIndexOf( " / " ) + 1 ); 
如果想连带获取页面的名称时则去掉最后的substring即可. ......

JSP防SQL注入攻击

第一种采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setString方法传值即可:
String sql= "select * from users where username=? and password=?;
PreparedStatement preState = conn.prepareStatement(sql);
preState.setString(1, userName);
preState.setString(2, password);
ResultSet rs = preState.executeQuery();
...
第二种是采用正则表达式将包含有 单引号('),分号(;) 和 注释符号(--)的语句给替换掉来防止SQL注入
例1
public static String TransactSQLInjection(String str)
{
return str.replaceAll(".*([';]+|(--)+).*", " ");
}
userName=TransactSQLInjection(userName);
password=TransactSQLInjection(password);
String sql="select * from users where username='"+userName+"' and password='"+password+"' "
Statement sta = conn.createStatement();
ResultSet rs = sta.executeQuery(sql);
...
或者例2
要引入的包:
import java.util.regex.*;
正则表达式:
private String CHECKSQL = “^(.+)\\sand\\s(.+)|(.+)\\sor(.+)\\s$”;
判断是否匹配:
Pattern.matches(CHECKSQL ......

JSP防SQL注入攻击

第一种采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setString方法传值即可:
String sql= "select * from users where username=? and password=?;
PreparedStatement preState = conn.prepareStatement(sql);
preState.setString(1, userName);
preState.setString(2, password);
ResultSet rs = preState.executeQuery();
...
第二种是采用正则表达式将包含有 单引号('),分号(;) 和 注释符号(--)的语句给替换掉来防止SQL注入
例1
public static String TransactSQLInjection(String str)
{
return str.replaceAll(".*([';]+|(--)+).*", " ");
}
userName=TransactSQLInjection(userName);
password=TransactSQLInjection(password);
String sql="select * from users where username='"+userName+"' and password='"+password+"' "
Statement sta = conn.createStatement();
ResultSet rs = sta.executeQuery(sql);
...
或者例2
要引入的包:
import java.util.regex.*;
正则表达式:
private String CHECKSQL = “^(.+)\\sand\\s(.+)|(.+)\\sor(.+)\\s$”;
判断是否匹配:
Pattern.matches(CHECKSQL ......

jsp中Word打印

在jsp中引用response.setContentType("application/msword");,打开的页面就是word样式。
1、实现word横打:
<style>
@page
 {mso-page-border-surround-header:no;
 mso-page-border-surround-footer:no;}
@page Section1
 {size:841.9pt 595.3pt;//纸张的大小
 mso-page-orientation:landscape;
 margin:89.85pt 72.0pt 89.85pt 72.0pt;
 mso-header-margin:42.55pt;//页眉
 mso-footer-margin:49.6pt;//页脚
 mso-paper-source:0;
 layout-grid:15.6pt;}
div.Section1
 {page:Section1;}
</style>
使用<div class="Section1"></div>即可实现
2、自定义纸张大小纵打
@page
 {mso-page-border-surround-header:no;
 mso-page-border-surround-footer:no;}
@page Section1
 {size: 21.5cm 14.00cm;
 margin-left:0.5cm;//左页边距
 margin-right:0.5cm;//右页边距
 margin-top:0.5cm;//上页边距
 margin-bottom:0.5cm//下页边距;
 mso-header-margin:0.5cm;
 mso-footer-margin:0.5cm;
 layout-grid:0.5pt;}
d ......

fckeditor 2.6.5(jsp网页编辑器)


这两天在为项目嵌入这个插件,搞得焦头烂额,成功插入了的,可是不知道什么问题,就是上传不了图片,竟然出现了这样的警告:WARN net.fckeditor.handlers.RequestCycleHandler - No property found for UserPathBuilder implementation! The 'DefaultUserFilesPath' will be used in the ConnectorServlet!
在网上找了半天没找着解决方法,上csdn求助也没人回答,后来也不知道怎么搞的,突然就好了……囧……
没弄清原因,不过我肯定我的配置一直是没有问题的,要是有问题,那只能说编辑环境可能有问题(就是myeclipse了……)。在这里,我简单地介绍一下该插件的配置与使用,留下脚印!
首先看看插件的截图吧,好知道一下这东西是咋样的:
就是这么个编辑器,目前已经出到了3.X版,更名为CKeditor,不过似乎这个新版对于上传功能还不行……之前试过,后来放弃了,才改用fckeditor最新的2.6.5,这个的配置要比之前的2.3之类的配置简单上许多,主要是上传的配置被整合了,不需要我们自己设置上传路径。
(ps:我使用的系统环境是struts1.x+hibernate3.x,据说使用struts2的系统配置web.xml时会冲突,这个自己上网找 ......
总记录数:884; 总页数:148; 每页6 条; 首页 上一页 [122] [123] [124] [125] 126 [127] [128] [129] [130] [131]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号