??xml version="1.0" encoding="utf-8" standalone="yes"?>深夜影院在线观看,在线看你懂得,亚洲色图第一页 http://www.aygfsteel.com/hhhaaawwwkkk/category/34836.html大爷的ƈTM骂h zh-cn Wed, 14 Dec 2011 06:08:12 GMT Wed, 14 Dec 2011 06:08:12 GMT 60 spring-security学习W记--配置文g http://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/13/366222.html生命的熾?/dc:creator>生命的熾?/author>Tue, 13 Dec 2011 05:07:00 GMT http://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/13/366222.html http://www.aygfsteel.com/hhhaaawwwkkk/comments/366222.html http://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/13/366222.html#Feedback 0 http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/366222.html http://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/366222.html <? xml version="1.0" encoding="UTF-8" ?> < beans xmlns ="http://www.springframework.org/schema/beans" xmlns:sec="http://www.springframework.org/schema/security" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.4.xsd" default-lazy-init="true" > <!-- auto-config = true 则用from-login. 如果不用该属?nbsp;则默认ؓhttp-basic(没有session). lowercase-comparisonsQ表CURL比较前先转ؓ写?br /> path-typeQ表CZ用Apache Ant的匹配模式?br /> access-denied-pageQ访问拒l时转向的页面?br /> access-decision-manager-refQ指定了自定义的讉K{略理器。当pȝ角色名的前缀不是默认的ROLE_Ӟ需要自定义讉K{略理器?br /> --> < sec:http auto-config ="true" servlet-api-provision ="false" lowercase-comparisons ="false" access-denied-page="/html/error_page_access_denied.html" path-type ="ant" access-decision-manager-ref="accessDecisionManager" > <!-- login-pageQ指定登录页面?br /> login-processing-urlQ指定了客户在登录页面中按下 Sign In 按钮时要讉K?nbsp;URL。与d面form的action一致。其默认gؓQ?j_spring_security_check?br /> authentication-failure-urlQ指定了w䆾验证p|时蟩转到的页面?br /> default-target-urlQ指定了成功q行w䆾验证和授权后默认呈现l用L面?br /> always-use-default-targetQ指定了是否在n份验证通过后L跌{到default-target-url属性指定的URL?br /> --> < sec:form-login login-page ="/admin/page!login.action" login-processing-url ="/admin/login" default-target-url ="/admin/page!main.action" authentication-failure-url ="/admin/page!login.action" always-use-default-target ="true" /> <!-- "C?功能Q采用持久化{略Q将用户的登录信息存攑֜数据库表中) --> < sec:remember-me key ="e37f8888-0ooo-22dd-bd0b-9900211c9a66" /> <!-- logout-urlQ指定了用于响应退出系l请求的URL。其默认gؓQ?j_spring_security_logout?br /> logout-success-urlQ退出系l后转向的URL?br /> invalidate-sessionQ指定在退出系l时是否要销毁Session?br /> --> < sec:logout invalidate-session ="true" logout-success-url ="/admin/page!login.action" logout-url ="/admin/logout" /> <!-- max-sessions:允许用户帐号d的次数。范例限制用户只能登录一ơ?br /> exception-if-maximum-exceeded: 默认为falseQ此DC:用户W二ơ登录时Q前一ơ的d信息都被清空?br /> 当exception-if-maximum-exceeded="true"时系l会拒绝W二ơ登录?br /> --> < sec:concurrent-session-control max-sessions ="1" exception-if-maximum-exceeded ="false" /> <!-- 后台d --> <!-- intercept-url:拦截?可以讑֮哪些路径需要哪些权限来讉K. filters=none 不用过?也可以理解ؓ忽略 --> < sec:intercept-url pattern ="/admin/page!login.action" filters ="none" /> <!-- 商品理 --> < sec:intercept-url pattern ="/admin/goods!**" access ="ROLE_GOODS" /> <!-- 基础理权限 --> < sec:intercept-url pattern ="/admin/**" access ="ROLE_BASE" /> <!-- 下面是对Struts2的Actionh时的配置。注意在前面?Q否则不会被拦截验证?br /> 表示h讉K/unitsManager资源的用户必d有ROLE_PLATFORMADMIN的权限?br /> 当用L录时,用L所有权限从数据库中提取出来QŞ成列表?nbsp;当用戯问该资源Ӟ 登录用L权限列表提出来跟下面配置的权限进行比对,若有Q则允许讉KQ若没有Q?br /> 则给出AccessDeniedException?nbsp; --> < sec:intercept-url pattern ="/unitsManager" access ="ROLE_PLATFORMADMIN" /> < sec:intercept-url pattern ="/usersManager" access ="ROLE_PLATFORMADMIN" /> < sec:intercept-url pattern ="/horizontalQuery" access ="ROLE_PLATFORMADMIN" /> < sec:intercept-url pattern ="/verticalQuery" access ="ROLE_PLATFORMADMIN" /> </ sec:http > < sec:authentication-provider user-service-ref ="adminDetailsServiceImpl" > < sec:password-encoder hash ="md5" /> </ sec:authentication-provider > </ beans >
]]> 用annotation来配|spring2.5+hibernate3.2+struts2 (? http://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/10/22/299429.html生命的熾?/dc:creator>生命的熾?/author>Thu, 22 Oct 2009 13:58:00 GMT http://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/10/22/299429.html http://www.aygfsteel.com/hhhaaawwwkkk/comments/299429.html http://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/10/22/299429.html#Feedback 0 http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/299429.html http://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/299429.html 此文章{自:http://pipe.javaeye.com/blog/290644
在这3U框架搭配用的时候,我们往往需要写很多xml配置文g来配|各个框架的依赖关系。大的项目中Qxml配置文g的过多,q于J琐Q导致查找v来会很不方便?
在这U情况下Q我们需要简化我们的配置文gQ同时结合部分xml来进行配|?q时候我们想CannotationQ这个近几年炒得很火的玩意。annotation和xml各自的好处和弊端我就不多说了Q看代码吧?
开发环境要?jdk6.0以上 。tomcat5.5以上(也许tomcat5.0也行 不过没试q?
先从hibernate入手吧:
按照以往的写法,我们需要有.hbm文g来完成po映射。现在我们通过annotation省去了这部分工作?
具体代码如下Q这是一个poc?br />
1 import javax.persistence.Column;
2 import javax.persistence.Entity;
3 import javax.persistence.GeneratedValue;
4 import javax.persistence.Id;
5 import javax.persistence.Table;
6
7 @Entity
8 @Table(name = " userlog " )
9 public class UserLog {
10 @Id
11 @GeneratedValue
12 private Long id;
13
14 @Column(name = " loginName " )
15 private String loginName;
16
17 .下面是setter/ getterҎ?nbsp;
18
我们没在spring配置文g中配|hibernateq接信息Q还是采用传l的hibernate.cfg.xmlQ当然也可以在spring中配|。代码如下:
1 <? xml version="1.0" encoding="UTF-8" ?>
2 <! DOCTYPE hibernate-configuration PUBLIC
3 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
4 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" >
5 < hibernate-configuration >
6 < session-factory >
7 < property name ="connection.datasource" > java:/comp/env/jdbc/ExampleDB </ property >
8
9 < property name ="dialect" > org.hibernate.dialect.MySQL5Dialect </ property >
10
11 <!-- <property name="hbm2ddl.auto">create</property> -->
12 < property name ="show_sql" > true </ property >
13 < mapping class ="com.nuctech.po.UserLog" />
14
15 </ session-factory >
16 </ hibernate-configuration >
通过mapping class 我们完成了po映射?
OK!我们再看dao?
1 @Component
2 public class TestDao{
3 @Resource
4 private SessionFactory sessionFactory;
5
6 public SessionFactory getSessionFactory() {
7 return sessionFactory;
8 }
9
10 public void setSessionFactory(SessionFactory sf) {
11 this .sessionFactory = sf;
12 }
13 public Session getSession() {
14 return sessionFactory.getCurrentSession();
15 }
16 public void save(Object obj){
17 getSession().save(obj);
18 }
19 }
20
在这?我们的dao采用了@Component 表示它是一个组Ӟ在别的类中将会去调用?
@Resource 引用SessionFactory 的bean.
关于annotation 可以参考Spring-Reference_zh_CN.chm
再来看我们的Action:
1 @Component( " TestAction " )
2 public class TestAction extends ActionSupport {
3 @Resource
4 private TestDao dao; // q里引用上面的Component
5 private UserLog log;
6 setter / getterҎ
7
8 其他的写法都一样了?nbsp;
9
10 }
11
再看我们的struts配置文g
1 <! DOCTYPE struts PUBLIC
2 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
3 "http://struts.apache.org/dtds/struts-2.0.dtd" >
4 < struts >
5 < include file ="struts-default.xml" />
6 < constant name ="struts.objectFactory" value ="spring" />
7 < constant name ="struts.devMode" value ="true" />
8 < package name ="com.nuctech.action" extends ="struts-default" >
9 < action name ="queryUserLogByPage" class ="TestAction" method ="queryUserLogByPage" >
10 省略 .
11 </ action >
12 </ package >
13
14 </ struts >
15
注意q个action名字与@Component("TestAction")一致?
在没有annotation的情况下Q我们在spring的配|文件中需要有很多的bean注入。现在都已经在类中注入了 那么我们现在来看spring配置文g:
1 <? xml version="1.0" encoding="UTF-8" ?>
2 < beans xmlns ="http://www.springframework.org/schema/beans"
3 xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:context ="http://www.springframework.org/schema/context"
5 xmlns:tx ="http://www.springframework.org/schema/tx"
6 xmlns:jee ="http://www.springframework.org/schema/jee"
7 xsi:schemaLocation ="
8 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
9 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
10 http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
11 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" >
12 < context:annotation-config />
13
14 < bean class ="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
15
16 < bean id ="sessionFactory"
17 class ="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" >
18 < property name ="configLocation" value ="classpath:/hibernate.cfg.xml" />
19 </ bean >
20 < bean id ="transactionManager"
21 class ="org.springframework.orm.hibernate3.HibernateTransactionManager" >
22 < property name ="sessionFactory" ref ="sessionFactory" />
23 </ bean >
24
25 < context:component-scan base-package ="com.xxxx" />
26 < tx:annotation-driven />
27 </ beans >
我们只在q个配置文g中配|了sessionFactory.以前需要配|的bean不见了?
另外附上我们的jndi配置文gQ在WebContent(WebRoot)下面的META-INF文g夹下面的context.xml?br />
1 <? xml version="1.0" encoding="UTF-8" ?>
2 < Context antiResourceLocking ="false" >
3 <!-- 以下D配|session在tomcat重启时的持久化策略,saveOnRestart为false时不q行持久化,方便调试时?nbsp; -->
4 < Manager className ="org.apache.catalina.session.PersistentManager"
5 debug ="0" saveOnRestart ="false" maxActiveSessions ="-1"
6 minIdleSwap ="-1" maxIdleSwap ="-1" maxIdleBackup ="-1" >
7 < Store className ="org.apache.catalina.session.FileStore"
8 directory ="mydir" />
9 </ Manager >
10 <!-- MySQL配置 -->
11 < Resource name ="jdbc/ExampleDB" type ="javax.sql.DataSource"
12 driverClassName ="com.mysql.jdbc.Driver"
13 url ="jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf-8"
14 username ="root" password ="123" validationQuery ="select 1"
15 maxIdle ="4" maxWait ="5000" maxActive ="8" removeAbandoned ="true"
16 removeAbandonedTimeout ="120" >
17 </ Resource >
18
19 </ Context >
20
注意q个jndi名字与hibernate.cfg.xml中一致?
先就q样吧?
]]> HTML语言剖析-frameset(? http://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/09/05/293977.html生命的熾?/dc:creator>生命的熾?/author>Sat, 05 Sep 2009 02:45:00 GMT http://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/09/05/293977.html http://www.aygfsteel.com/hhhaaawwwkkk/comments/293977.html http://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/09/05/293977.html#Feedback 0 http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/293977.html http://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/293977.html
<FRAMESET > <FRAME>
<NOFRAMES>
<IFRAME>
?框架概念 Q?/span>
所谓框架便是网는面分成几个框H,同时取得多个 URL。只 ?<FRAMESET > <FRAME> 卛_Q而所有框架标记 要放在一个总v?span class="Apple-converted-space"> html ,q个案只记录了该框?如何划分Q不会显CZQ何资料,所以不必放?<BODY> 标记Q浏览这框架必须dq档 案而不是其它框H的案?lt;FRAMESET > 是用以划分框H,每一框窗׃?<FRAME> ?记所标示Q?lt;FRAME>必须?<FRAMESET > 范围中用。如下例Q?/span>
<frameset cols="50%,*">
<frame name="hello" src="up2u.html ">
<frame name="hi" src="me2.html ">
</frameset >
此例?<FRAMESET > 把画面分成左右两相等部分Q左便是昄 up2u.html Q右边则会显C?me2.html q案,<FRAME> 标记所标示的框H永q是按由上而下、由左至右的ơ序?/span>
本节?Composer 教室的【运用框架】大部分相同Q只是本节增加了内容及较l,?如其它篇章一样ƈ不会提及|页制作工具Q若馈下学会?span class="Apple-converted-space"> HTML 怿你亦不会选用 Composer Q?FrontPage 一cȝ工具了?/span>
?<FRAMESET > <FRAME> Q?/span>
▲Top
<FRAMESET > U框架标讎ͼ用以宣告HTML 文g为框架模式,q设定视H如何分剌Ӏ?span class="Apple-converted-space">
<FRAME> 则只是设定某一个框H内的参数属性?/span>
<FRAMESET > 参数讑֮Q?span class="Apple-converted-space">
例子Q?lt;frameset rows ="90,*" frameborder ="0" border =0 framespacing ="2" bordercolor ="#008000">
COLS="90,* "
垂直切割画面(如分左右两个画面)Q接?span style="color: rgb(255,0,128)">整数?/span>?span style="color: rgb(255,0,128)">癑ֈ?/span>Q?span class="Apple-converted-space"> * 则代表占用馀下空 间。数值的个数代表分成的视H数目且以逗号分隔。例?COLS="30,*,50%" 可以 切成三个视窗Q第一个视H是 30 pixels 的宽度,Zl对分割Q第二个视窗是当 分配完第一及第三个视窗後剩下的I间Q第三个视窗则占整个画面?50% 宽度 ?一相对分割?span style="color: rgb(251,179,57)">您可自己调整数字?/span>
ROWS="120,* "
是横向切割Q将画面上下分开Q数D定同上。唯 COLS ?ROWS 两参数尽?不要同在一?<FRAMESET > 标记中,?Netacape 偶然不能昄q类形的框架Q尽 采用多重分割?/span>
frameborder="0 "
讑֮框架的边框,其值只?0 ?1 Q?0 表示不要ҎQ?1 表示要显C框。(?免?yes ?no Q?/span>
border="0 "
讑֮框架的边框厚度,?pixels 为单位?/span>
bordercolor="#008000 "
讑֮框架的边框颜艌Ӏ?/span>
framespacing="5 "
表示框架与框枉的保留空白的距离?/span>
<FRAME> 参数讑֮Q?span class="Apple-converted-space">
例子Q?lt;frame name ="top" src ="a.html " marginwidth ="5" marginheight ="5" scrolling ="Auto" frameborder ="0" noresize framespacing ="6" bordercolor ="#0000FF">
SRC="a.html "
讑֮此框H中要显C的|页案名称Q每个框H一定要对应著一个网|案。你?使用l对路径或相对\径,有关此两者详见於【连l进阶】?/span>
NAME="top "
讑֮q个框窗的名Uͼq样才能指定框架来作q结Q必ML命名?/span>
frameborder=0
讑֮框架的边框,其值只?0 ?1 Q?0 表示不要ҎQ?1 表示要显C框。(?免?yes ?no Q?/span>
framespacing="6 "
表示框架与框枉的保留空白的距离?/span>
bordercolor="#008000 "
讑֮框架的边框颜艌Ӏ颜色D参考?span class="hilite1" style="background-color: rgb(255,255,0)">HTML 剖析】?/span>
scrolling="Auto "
讑֮是否要显C卷_YES 表示要显C卷_NO 表示无论如何都不要显C, AUTO是视情况昄?/span>
noresize
讑֮不让使用者可以改变这个框框的大小Q亦没有讑֮此参敎ͼ使用者可以很?意地拉动框架Q改变其大小?/span>
marginhight=5
表示框架高度部䆾边缘所保留的空间?/span>
marginwidth=5
表示框架宽度部䆾边缘所保留的空间?/span>
以下是一些例子:Q与 Composer 教室的【运用框架】相同)
例子
HTML Code
<frameset rows="80,*">
<frame name="top" src="a.html ">
<frame name="bottom" src="b.html ">
</frameset >
例子
HTML Code
<frameset rows="80,*,80">
<frame name="top" src="a.html ">
<frame name="middle" src="b.html ">
<frame name="bottom" src="c.html ">
</frameset >
例子
HTML Code
<frameset cols="150,*">
<frameset rows="80,*">
<frame name="upper_left" src="a.html ">
<frame name="lower_left" src="b.html ">
</frameset >
<frame name="right" src="c.html ">
</frameset >
例子
HTML Code
<frameset rows="80,*">
<frame name="top" src="a.html ">
<frameset cols="150,*">
<frame name="lower_left" src="b.html ">
<frame name="lower_right" src="c.html ">
</frameset >
</frameset >
例子
HTML Code
<frameset cols="150,*">
<frame name="left" src="a.html ">
<frameset rows="80,*">
<frame name="upper_right" src="b.html ">
<frame name="lower_right" src="c.html ">
</frameset >
</frameset >
?<NOFRAMES> Q?/span>
▲Top
当别Z用的览器太旧,不支援框架这个功能时Q他看到的将会是一片空白。ؓ了避?q种情况Q可使用 <NOFRAMES> q个标记Q当使用者的览器看不到框架Ӟ他就会看 ?span class="Apple-converted-space"> <NOFRAMES> ?span class="Apple-converted-space"> </NOFRAMES> 之间的内容,而不是一片空白。这些内容可以是提醒 览转用新的览器的字句Q甚x一个没有框架的|页或能自动切换x有框架的版本 亦可?/span>
应用ҎQ?span class="Apple-converted-space">
?lt;frameset > 标记范围加入 </NOFRAMES> 标记Q以下是一个例子:
<frameset rows="80,*">
<noframes>
<body>
很抱歉,馈下使用的浏览器不支援框架功能,误{用新的浏览器?span class="Apple-converted-space">
</body>
</noframes>
<frame name="top" src="a.html ">
<frame name="bottom" src="b.html ">
</frameset >
若浏览器支援框架Q那堋它不会理会 <noframes> 中的东西Q但若浏览器不支援框Ӟ?g认识所有框架标讎ͼ不明的标C被略q,标记包围的东西便被解d来,所以放?<noframes>范围内的文字会被昄?/span>
q标记只适用?IE?/span> 它的作用是在一늽中间插入一个框H以昄另一个文件。它?一个围堉|讎ͼ但围著的字句只有在浏览器不支?iframe 标记时才会显C,?lt;noframes> 一P可以放些提醒字句之类。通常 iframe 配合一个L认浏览器?Java Script 会较好,?javascript 认出该浏览器q Internet Explorer 便会切换臛_一版本?/span>
<iframe> 的参数设定如下:
例子Q?<iframe src ="iframe.html " name ="test" align ="MIDDLE" width ="300" height ="100" marginwidth ="1" marginheight ="1"frameborder ="1" scrolling="Yes">
src ="iframe.html "
Ʋ显C於此框H的文g来源除档案名Uͼ必要加上相对或绝对\径?/span>
name ="test"
此框H名Uͼq是q结标记?target 参数所 要的Q?/span>
align ="MIDDLE"
可选gؓ left, right, top, middle, bottomQ作用不?/span>
width ="300" height ="100"
框窗的宽及长Q以 pixels 为单位?/span>
marginwidth ="1" marginheight ="1"
该插入的文g与框Ҏ保留的空间?/span>
frameborder ="1"
使用 1 表示昄ҎQ?0 则不昄。(可以?yes ?noQ?/span>
scrolling ="Yes"
使用 Yes 表示容许卷动Q内定)Q?No 则不容许卷动?/span>
]]> struts2+hibernate+spring+mysqlq问题 http://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/09/03/293712.html生命的熾?/dc:creator>生命的熾?/author>Thu, 03 Sep 2009 03:05:00 GMT http://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/09/03/293712.html http://www.aygfsteel.com/hhhaaawwwkkk/comments/293712.html http://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/09/03/293712.html#Feedback 1 http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/293712.html http://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/293712.html
首先查资料说是在struts.properties加入如下的key-valueQstruts.locale=zh_CN Qstruts.i18n.encoding=gb2312-------向数据库保存数据时出Cؕ码,问题没有解决Q?br />
然后再查说是spring的配|文?lt;property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8"></property>写成q样---------再试验保存数据还是ؕ码,问题没有解决Q?br />
然后再查说将mysql字符集设|ؓUTF-8----------再试验保存数据还是ؕ码,问题没有解决Q?br />
然后再查说写个filter
1 public class NewFilterDispatcher extends FilterDispatcher {
2 private static String encoding = " GBK " ;
3
4 public void init(FilterConfig filterConfig) throws ServletException {
5 super .init(filterConfig);
6 String encodingParam = filterConfig.getInitParameter( " encoding " );
7 if (encodingParam != null && encodingParam.trim().length() != 0 ) {
8 encoding = encodingParam;
9 }
10 }
11
12 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
13 throws IOException, ServletException {
14 request.setCharacterEncoding(encoding);
15 super .doFilter(request, response, chain);
16 }
17 }
web.xml
< filter >
< filter-name > struts </ filter-name >
< filter-class > util.NewFilterDispatcher </ filter-class >
< init-param >
< param-name > encoding </ param-name >
< param-value > gb2312 </ param-value >
</ init-param >
</ filter >
< filter-mapping >
< filter-name > struts </ filter-name >
< url-pattern > /* </ url-pattern >
</ filter-mapping >
再试验保存数据,q次q问题l于解决Q?
]]> HTML转义W?/title> http://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/06/09/280988.html生命的熾?/dc:creator>生命的熾?/author>Tue, 09 Jun 2009 10:06:00 GMT http://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/06/09/280988.html http://www.aygfsteel.com/hhhaaawwwkkk/comments/280988.html http://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/06/09/280988.html#Feedback 0 http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/280988.html http://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/280988.html
---
--- 换行Line feed
---
--- 回RCarriage Return
--- Space
! ! --- 惊叹号Exclamation mark
" " " 双引号Quotation mark
# # --- 数字标志Number sign
$ $ --- 元标志Dollar sign
% % --- 癑ֈ号Percent sign
& & & Ampersand
' ' --- 单引号Apostrophe
( ( --- 括号左辚w分Left parenthesis
) ) --- 括号右辚w分Right parenthesis
* * --- 星号Asterisk
+ + --- 加号Plus sign
, , --- 逗号Comma
- - --- q字号Hyphen
. . --- 句号Period (fullstop)
/ / --- 斜杠Solidus (slash)
0 0 --- 数字0 Digit 0
1 1 --- 数字1 Digit 1
2 2 --- 数字2 Digit 2
3 3 --- 数字3 Digit 3
4 4 --- 数字4 Digit 4
5 5 --- 数字5 Digit 5
6 6 --- 数字6 Digit 6
7 7 --- 数字7 Digit 7
8 8 --- 数字8 Digit 8
9 9 --- 数字9 Digit 9
: : --- 冒号Colon
; ; --- 分号Semicolon
< < < 于号Less than
= = --- {于W号Equals sign
> > > 大于号Greater than
? ? --- 问号Question mark
@ @ --- Commercial at
A A --- 大写A Capital A
B B --- 大写B Capital B
C C --- 大写C Capital C
D D --- 大写D Capital D
E E --- 大写E Capital E
F F --- 大写F Capital F
G G --- 大写G Capital G
H H --- 大写H Capital H
I I --- 大写J Capital I
J J --- 大写K Capital J
K K --- 大写L Capital K
L L --- 大写K Capital L
M M --- 大写M Capital M
N N --- 大写N Capital N
O O --- 大写O Capital O
P P --- 大写P Capital P
Q Q --- 大写Q Capital Q
R R --- 大写R Capital R
S S --- 大写S Capital S
T T --- 大写T Capital T
U U --- 大写U Capital U
V V --- 大写V Capital V
W W --- 大写W Capital W
X X --- 大写X Capital X
Y Y --- 大写Y Capital Y
Z Z --- 大写Z Capital Z
[ [ --- 中括号左辚w分Left square bracket
\ \ --- 反斜杠Reverse solidus (backslash)
] ] --- 中括号右辚w分Right square bracket
^ ^ --- Caret
_ _ --- 下划UHorizontal bar (underscore)
` ` --- 重音符Acute accent
a a --- 写a Small a
b b --- 写b Small b
c c --- 写c Small c
d d --- 写d Small d
e e --- 写e Small e
f f --- 写f Small f
g g --- 写g Small g
h h --- 写h Small h
i i --- 写i Small i
j j --- 写j Small j
k k --- 写k Small k
l l --- 写l Small l
m m --- 写m Small m
n n --- 写n Small n
o o --- 写o Small o
p p --- 写p Small p
q q --- 写q Small q
r r --- 写r Small r
s s --- 写s Small s
t t --- 写t Small t
u u --- 写u Small u
v v --- 写v Small v
w w --- 写w Small w
x x --- 写x Small x
y y --- 写y Small y
z z --- 写z Small z
{ { --- 大括号左辚w分Left curly brace
| | --- 竖线Vertical bar
} } --- 大括号右辚w分Right curly brace
~ ~ --- Tilde
]]> j2ee基础知识Q一Q【request&response?/title> http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/12/19/246986.html生命的熾?/dc:creator>生命的熾?/author>Fri, 19 Dec 2008 02:58:00 GMT http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/12/19/246986.html http://www.aygfsteel.com/hhhaaawwwkkk/comments/246986.html http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/12/19/246986.html#Feedback 0 http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/246986.html http://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/246986.html request response pageContext session application out config page exception
JSP中属性的保存范围Q?/strong>
★在JSP中可以采用下面方法来讄和取得属性:
→ 讄属性:public abstract void setAttribute(java.lang.String.nameQjava.lang.Object.atrribute)
→ ȝ属性:public abstract java.lang.Object getAttribute(java.lang.String.name)
★在JSP中提供了四种属性保存范_
→ 在一个页面范围内Qpage
在JSP中设|一个页面属性范_必须通过pageContext完成。pageContext属性范_是最为重要的JSP 属性之一Q但是如果用纯_的JSP代码开发,此属性显CZ用。在struts{就极其重要Q?br />
→ 在一ơ服务器h范围内:request
request保存在一ơ请求范围之内前提:必须使用服务器端跌{<jsp:forward/>
→ 在一ơ会话范围内Qsession
讄了Session保存范围后不什么蟩转,都可以取得属性。session的主要功能是验证用户是否登陆?br />
→ 在一个应用服务器范围内:application
application属性范围|只要讄一ơ,则说有的|页H口都可以取得数据,主要用于在线人员l计?br />
application、request、session→都需要跨多个,属性保存是有开销的,q多的application和session会导致性能下降Q所以能使用request׃要用sessionQ能使用session׃要用application。如果释放application只能重新启动服务器?br />
■页面的中文q问题Q?br />
1、页面显C的q处理Q?lt;%@page context="test/html,charset=gbk"%>
2、页面传递的q处理Q①Ҏ有的数据q行在编码:ISO8859-1
②设|同意字W编?br />
如:
<% @page contentType = " text/html,charset=gbk " %>
< HTML >
< HEAD >
< TITLE ></ TITLE >
</ HEAD >
< BODY >
//Ҏ一Q?br />
<%
String name = request.getParameter( " username " );
byte []b = name.getBytes( " ISO8859-1 " );
name = new String (b);
%>
Ҏ一可写为:
<%
String name = new String (request.getParameter( " username " ).getBytes( " ISO8859-1 " ));
%>
//Ҏ二:
<%
request.setCharacterEncoding(" GBK " );
String name = request.getParameter( " username " );
%>
< h1 > 输入内容为: <% = name %> </ h1 >
</ BODY >
</ HTML >
■如果传递的内容是数l(复选框、多个下拉列表)使用request的一下方法取得数?br />
例:
< html >
< body >
< form action ="demo08.jsp" method ="post" >
用户名:< input type ="text" name ="uname" >< br >
密码Q?/span>< input type ="password" name ="upass" >< br >
兴趣Q?br />
< input type ="checkbox" name ="**inst" value ="球" > 球
< input type ="checkbox" name ="**inst" value ="游泳" > 游泳
< input type ="checkbox" name ="**inst" value ="唱歌" > 唱歌
< input type ="checkbox" name ="**inst" value ="跌" > 跌
< input type ="checkbox" name ="**inst" value ="看书" > 看书
< br >
< input type ="submit" value ="提交" >
</ form >
</ body >
</ html >
使用request.getParameterNames()Ҏ取得数据
<% @ page contentType = " text/html;charset=gbk " %>
<% @ page import = " java.util.* " %>
< html >
< body >
<%
// 接收内容
request.setCharacterEncoding( " GBK " ) ;
Enumeration enu = request.getParameterNames() ;
%>
<%
while (enu.hasMoreElements())
{
String name = ( String )enu.nextElement() ;
if (name.startsWith( " ** " ))
{
String temp[] = request.getParameterValues(name) ;
%>
< h1 > <% = name %> -->
<%
for ( int i = 0 ;i < temp.length;i ++ )
{
%>
<% = temp[i] %> ?br />
<%
}
%>
</ h1 >
<%
}
else
{
%>
< h1 > <% = name %> --> <% = request.getParameter(name) %> </ h1 >
<%
}
}
%>
</ h1 >
</ body >
</ html >
用request.getParamaterValues()Ҏ取得数据
<% @ page contentType = " text/html;charset=gbk " %>
< html >
< body >
<%
request.setCharacterEncoding(" gbk " );
String name = request.getParameter( " uname " );
String inst[] = request.getParameterValues( " inst " );
%>
< h1 > 用户名ؓQ?/span><% = name %> </ h1 >
< h1 > 兴趣为:
<%
for ( int i = 0 ;i < inst.length;i ++ )
{
%>
<% = inst[i] %>
<%
}
%>
</ h1 >
</ body >
</ html >
■向服务器传D可以使用隐藏?lt;input type="hidden" name="name" value="aaa">;
q可以用地址重写传递数据到服务器端?br />
■取得客L的IP地址Q?lt;%=request.getRemoteAddr()%>
★response的主要功能:
1、最有用用的一个头信息QrefreshQ刷?br />
例:
<% @page contentType = " text/html;charset=gb2312 " %>
<% !
// 此处为全局变量Q初始化一?br />
int i = 0 ;
%>
<%
// 一U种h一ơ,每次使i自增
response.setHeader( " refresh " , " 2;URL=responseDemo02.jsp " ) ;
%>
< h1 > <% = i ++ %> </ h1 >
两秒后蟩转到Ƣ迎!Q!< br >
如果没有跌{Q请?/span>< a href ="responseDemo02.jsp" > q里 </ a > Q!Q?/span>
2、response跌{与forward跌{
?lt;jsp:forward page=""/>
?nbsp; 地址栏不改变跌{----服务器端跌{
?nbsp; 执行跌{语句后无条g立即跌{----之后的代码不再被执行
?nbsp; 使用forwardӞrequest讄的属性依然能保留在下一个页面(setAttrbuteQ?br />
?nbsp; 通过<jsp:param name="" value=""/>传递参?br />
②response.sendRedirect("地址")
?nbsp; 地址栏改变蟩?---客户端蟩?br />
?nbsp; 所有代码执行完毕后跌{
?nbsp; 不能保存request属性,地址栏改?br />
?nbsp; 通过URL地址的重写传递参?br />
3、设|cookieQcookie是服务器端保存在客户端的一l资源,例如d时会问你是否C密码{等。此功能的实现就是通过cookie?br />
例:
<%
Cookie c1 = new Cookie( " name " , " mldn " ) ;
Cookie c2 = new Cookie( " password " , " LXH " ) ;
// 保存旉?0U?br />
c1.setMaxAge( 60 ) ;
c2.setMaxAge( 60 ) ;
%>
<%
// 通过response对象Cookie讄到客L
response.addCookie(c1) ;
response.addCookie(c2) ;
%>
<%
// 通过request对象Q取得客L讄的全部Cookie
// 实际上客L的Cookie是通过HTTP头信息发送到服务器端上的
Cookie c[] = request.getCookies() ;
%>
<%
for ( int i = 0 ;i < c.length;i ++ )
{
Cookie temp = c[i] ;
%>
< h1 > <% = temp.getName() %> --> <% = temp.getValue() %> </ h1 >
<%
}
%>
cookie默认只对当前览器有效,如果长留要设|cookie的保存时?br />
■session对象
-session对象主要用于保存用户的各U信息,知道他的生命周期Q一般ؓ900SQ超时或被h为地释放掉ؓ止?br />
-可以通过session对象来判断此用户是否是合法用戗?br />
1、在服务器上通过session来区分每一个用P用户只要已连接服务器Q则立刻分配一个sessionl用戗?br />
2、Session的主要方法:
?nbsp; 服务器上通过Session来区分用PSessionIDQ:M链接到服务器上的用户Q服务器都会Z分配一?br />
唯一的SessionIDQsessionID由服务器同意理QhZ能控制?br />
?nbsp; 获得sessionID的方法,session.getId();,session的长度ؓ32位?br />
?nbsp; 通过session可以验证用户是否登陆
?nbsp; 判断当前的session是否是新建立的sessionҎQsession.isNew();
?nbsp; session的属性设|:
讄属性:public void setAttribute(Stirng name,Object value)
取得属性:public void getAttribute(String name)
删除属性:public void removeAttrbute(String name)
?nbsp; 让session失效Q也是通常用的用户注销
手动注销Qpublic void invalidate()
自动注销Qsession长时间不被用则自动会注销
?nbsp; 得到session的创建时_public long getCreationTime();此方法返回longcdQ通过Datecd以取得一个完整的
旉?br />
?nbsp; 取得用户最后一ơ的操作旉Qpublic long getLastAccessedTime()
]]>
վ֩ģ壺
|
|
ԭ |
|
|
ʯ |
ڻ |
̴ |
|
żҴ |
|
|
|
ӳ |
|
Ϻ |
ˮ |
ͼʲ |
|
̨ |
ͺ |
|
|
|
|
ֺ |
ʲ |
|
|
۰ |
|
̶ |
|
ƽ |
ɽ |
² |
ɽ |
մ |
ˮ |
Ӵ |
ϻ |