JSP¿ª·¢ÈëÃÅ
¸ÅÊö£º
JSP(Java Server Pages)ÊÇÓÉSun Microsystems¹«Ë¾³«µ¼¡¢Ðí¶à¹«Ë¾²ÎÓëÒ»Æð½¨Á¢µÄÒ»ÖÖ¶¯Ì¬ÍøÒ³¼¼Êõ±ê×¼¡£JSP¼¼ÊõÓеãÀàËÆASP¼¼Êõ£¬ËüÊÇÔÚ´«Í³µÄÍøÒ³HTMLÎļþ(*.htm,*.html)ÖвåÈëJava³ÌÐò¶Î(Scriptlet)ºÍJSP ±ê¼Ç(tag)£¬´Ó¶øÐγÉJSPÎļþ(*.jsp)¡£ ÓÃJSP¿ª·¢µÄWebÓ¦ÓÃÊÇ¿çÆ½Ì¨µÄ£¬¼ÈÄÜÔÚLinuxÏÂÔËÐУ¬Ò²ÄÜÔÚÆäËû²Ù×÷ϵͳÉÏÔËÐС£
¼ò½é£º
JavaServer Pages (JSP) ÊÇÒ»ÖÖÒÔ JavaΪÖ÷µÄ¿çƽ̨web¿ª·¢ÓïÑÔ¡£
¡¡¡¡JSPÓë΢ÈíµÄActive Server Pages ¼æÈÝ£¬µ«ËüÊÇʹÓÃÀàËÆHTMLµÄ¾í±êÒÔ¼°Java³ÌÐò´úÂë¶Î¶ø²»ÊÇVBScript¡£µ±ÄãËùʹÓõÄÍøÕ¾·þÎñÆ÷ûÓÐÌṩ±¾µØASPÖ§³Ö£¬Ò²¾ÍÊÇApache »òNetscape·þÎñÆ÷ʱ£¬Äã¿ÉÒÔ¿¼ÂÇʹÓÃJSP¡£ËäÈ»Äã¿ÉÒÔÈ¡µÃÕâЩ·þÎñÆ÷µÄASP¸½¼ÓÅ䱸ģ¿é£¬µ«¼Û¸ñÏ൱°º¹ó£¬¶øÄ¿Ç°Sun²¢Ã»ÓжÔÄãËùÐèÒªµÄ JSP×é¼þÊÕÈ¡·ÑÓÃ(ËäÈ»SunδÀ´ÓпÉÄÜ»áÊÕ·Ñ)¡£¶ÔÓÚSolarisÓëLinuxÒÔ¼°Windows£¬ÕâЩ×é¼þÒ²¶¼ºÜÈÝÒ×È¡µÃ¡£¡¡
¡¡¡¡Çë²»Òª½«JSPÓë·þÎñÆ÷¶ËµÄJavaScript»ìΪһ̸¡£ÍøÕ¾·þÎñÆ÷»á×Ô¶¯½«ÒÔJSPд³ÉµÄJava³ÌÐò´úÂë¶Îת»»³ÉJava servlets¡£¶øÐí¶àÏÈǰ±ØÐëÒÔPerlÊÖд³ÌÐò»ò·þÎñÆ÷ÌØ¶¨µÄAPI£¨ÈçASP£©¿ØÖƵŦÄÜÒ²¶¼¿É͸¹ýJSPÀ´×Ô¶¯»¯´¦Àí¡£
¡¡ ......
<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
<%!
Color getRandColor(int fc,int bc){//¸ø¶¨·¶Î§»ñµÃËæ»úÑÕÉ«
Random random = new Random();
if(fc>255) fc=255;
if(bc>255) bc=255;
int r=fc+random.nextInt(bc-fc);
int g=fc+random.nextInt(bc-fc);
int b=fc+random.nextInt(bc-fc);
return new Color(r,g,b);
}
%>
<%
//ÉèÖÃÒ³Ãæ²»»º´æ
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
// ÔÚÄÚ´æÖд´½¨Í¼Ïó
int width=60, height=20;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
// »ñȡͼÐÎÉÏÏÂÎÄ
Graphics g = image.getGraphics();
//Éú³ÉËæ»úÀà
Random random = new Random();
// É趨±³¾°É«
g.setColor(getRandColor(200,250));
g.fillRect(0, 0, width, height);
//É趨×ÖÌå
g.setFont(new Font("Times New Roman",Font.PLAIN,18));
//»±ß¿ò
//g.setColor(new Color());
//g.drawRect(0,0,width-1,hei ......
A test that can¡¯t be repeated is worthless.---Brian Marick ±¾ÕÂÄÚÈÝ£º ·Ö±ðʹÓÃCactusºÍmock objects¶ÔJSP½øÐе¥Ôª²âÊÔ ÓÃMavenÔËÐÐCactus¶ÔJSPµÄ²âÊÔ ÓÃCactus¶ÔTaglib½øÐе¥Ôª²âÊÔ ÓÃmock objectsºÍMockMaker¶ÔTaglib½øÐе¥Ôª²âÊÔ ±¾Õ½«¼ÌÐøÌÖÂÛÇ°ÃæµÄ¹ÜÀíÓ¦ÓóÌÐò£¬ÔÚÉÏÁ½ÆªµÄ±Ê¼ÇÖУ¬ÎÒÃǹØÐĵÄÊǸÃÓ¦ÓóÌÐòµÄservlet×é¼þ½øÐе¥Ôª²âÊÔ¡£±¾Õ½«¼¯ÖÐ×¢ÒâÁ¦ÓÚÊÇͼ×é¼þ——JSPºÍ×Ô¶¨Òå±ê¼Ç¿âtaglib¡£ »Ø¹Ë¹ÜÀíÓ¦ÓÃÈí¼þ£º(¿´²»µ½Í¼µãÕâÀï) ä¯ÀÀÆ÷½«·¢ËÍ»ØÒ»¸öHTTPÇëÇóµ½AdminServlet¡£·¢³öÒ»¸öSQL²éѯ×÷Ϊһ¸öHTTP²ÎÊý£¬AdminServlet»á»ñÈ¡¸Ã²ÎÊý¡£SecurityFilter½âÊ͸ÃHTTPÇëÇó²¢È·±£¸ÃSQLÊÇÎÞº¦µÄ£¨¼´ÊÇÒ»¸öSQL²éѯ£©¡£È»ºó£¬servletÔÚ¸ÃÊý¾Ý¿âÉÏÖ´Ðд˲éѯ£¬½ ......
¹ØÓÚÕâ¸öÎÊÌâ, ±È½Ï¸´ÔÓµÄ˵. ²»¹ýÎÒÏ£Íûͨ¹ýÀý×ÓÀ´½âÊͻ᷽±ãÀí½âһЩ.
¼ÙÉèÓÐÒ»¸ö·Ç³£Î£ÏÕµÄÈÎÎñ, ÊǾÅËÀÒ»Éú. ÐèÒªÄã´§×ÅÕ¨Ò©°ü´Ó±±Æ½¿ª³µ×߸ßËÙ·¹ý±£¶¨È¥Ê¯¼Òׯ°Ñ¹í×ӵĵﱤ¸øÕ¨ÁË. ×¢Òâ: Õâ¸öÈÎÎñÊ®·Ö¼è¾Þ, ÓпÉÄܰë·ըҩ±¬Õ¨. ËùÒÔ³ö·¢Ç°ÄãÐèÒª¿àÁ·10ÔªÒ»±¾µÄ<<Ìú²¼ÉÀ>>, »¹ÐèÒªÁ¢ÒÅÖö½»´úһϺóÊÂ. ÏÂÃæÊÇ·Ïßͼ:
ȥʱ·Ïß: ±±Æ½ ==> ¸ßËÙ·ÊÕ·ÑÕ¾Èë¿Ú(¶¼Óо¯²ìºÍ¾¯È®) A ==> ±£¶¨ÊÕ·ÑÕ¾ B ==> ʯ¼ÒׯÊÕ·ÑÕ¾ C ==> Õ¨µï±¤ D ==> ת³µ(¸Õ²ÅµÄ³µÒѾըûÁË) E =>
»ØÀ´Â·Ïß: ʯ¼ÒׯÊÕ·ÑÕ¾ ==> ±£¶¨ÊÕ·ÑÕ¾ ==> ¸ßËÙ·ÊÕ·ÑÕ¾³ö¿Ú(¶¼Óо¯²ìºÍ¾¯È®) A ==> °²È«»Øµ½±±Æ½ G
ÄÇôÎÒÃÇÏȼò½é¿ÉÄÜ·¢ÉúµÄÇé¿ö. A µãÓпÉÄܱ»¾¯²ìºÍ¾¯È®·¢ÏÖ, ËùÒÔÄãÖ»Äܱ»Å¤Ëͻر±Æ½. ¼´Ê¹²»±»·¢ÏÖ, »¹¿ÉÄܳöÏÖÊÕ·Ñʱ·¢ÏÖ10¸öÏÖ´óÑóÒ»¸ö·¿ÚµÄÂò·Ǯû´ø!! °¥, Ö»ÄÜÓÖ»ØÈ¥ÁË. »¹ÓÐ×î²ÒµÄ: ¸ßËÙ·Èë¿Úд×Å: ¶Ô²»Æð, µ½Ê¯¼ÒׯµÄ·ÏßÒòΪʩ¹¤²»Í¨! Ö»ºÃ»Ø¼ÒµÈ×ŰÉ.
µ½ÁËBºÍCÄã¿ÉÄÜ»¹»á±»ÈË·¢ÏÖ´øÁËÕ¨Ò©°ü, »òÕß·¢ÏÖÂò··ÑÉÙ´øÁË! ¼«ÓпÉÄÜÓÖ±»Å¤Ëͻر±Æ½, ×¢ÒâÒѾÔÚ°ëµÀÁË, ÊDz»»áÈÃÄã¼ÌÐøµ½Ê¯¼ÒׯµÄ, Ëù ......
ÏÂÔØºóµ¼ÈëÏîÄ¿µ½ MyEclipse , È»ºóÐÞ¸ÄÊý¾Ý¿âÁ¬½Ó²ÎÊý¼´¿É²âÊÔ. ÎÒÕâÓõÄÊÇ MySQL Êý¾Ý¿â. Óà JSP ÊÇÒòΪ Hibernate ¿ÉÒÔÅäºÏ¸÷ÖÖ¿ò¼Ü, Òò´ËÔÚ´úÂëÀïÎÒÒѾ¾¡Á¿µÄ°ÑÒ³ÃæºÍºǫ́µÄÖ±½Ó±äÁ¿ñîºÏ·Ö¸ô¿ªÁË.
hibernate_page.zip 433KB
²¿·Ö´úÂëÏÔʾ:
Ïà¹Ø SQL:
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`username` varchar(200) NOT NULL,
`password` varchar(20) NOT NULL,
`age` int,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=GBK;
-- JDBC Driver Name: com.mysql.jdbc.Driver
-- JDBC Driver URL: jdbc:mysql://hostname/dbname?useUnicode=true&characterEncoding=GBK
insert into user values(1, 'ÖÐÎÄ', 'beansoft', 1);
insert into user values(2, 'BeanSoft', 'beansoft', 2);
insert into user values(3, 'ÕÅÈý', 'beansoft', 3);
insert into user values(4, 'ÀîËÄ', 'beansoft', 4);
insert into user values(5, 'ÍõÎå', 'beansoft', 5);
insert into user values(6, 'ÂíÁù', 'beansoft', 6);
insert into user values(7, 'ºÚÆß', 'beansoft', 7);
insert into user values(8, 'À°°Ë', 'beansoft', 8);
......
ÊäÈë: select ID as ±àºÅ, NAME as ÐÕÃû, AGE as ÄêÁä from XXX
Êä³ö:
񅧏
ÐÕÃû
ÄêÁä
ÒªÇóÊÇÈç¹ûSQL±ä¶¯, ÈÔȻҪÏÔʾ³öÀ´ËùÓеıðÃû×Ö¶ÎÐÅÏ¢ºÍÊý¾Ý.
ÒòΪÏÖÔÚHibernateÓõıȽϹ㷺, ËùÒÔÓÅÏÈ¿¼ÂÇÓÃHibernateÀ´ÊµÏÖ, ½á¹û·¢ÏÖÈç¹ûÊÇʵÌåÓ³Éä²éѯÓï¾ä, ¿ÉÒÔ·½±ãµÄÓÃ:List<String> Query.getReturnAliases() »ñµÃ±ðÃû, È»¶øÎÒÃÇÖªµÀ²éѯʱÓÐʱºòÓï¾äÊǺܸ´ÔÓµÄ, ²»È«ÊÇHQL, ÕâʱºòÓÃSQLQueryµÄʱºò, ¾ªÑȵÄÌáʾÕâ¸ö·½·¨ÉÐδʵÏÖ(×îаæµÄHibernate 3.3 ÊÇ·ñʵÏÖÉÐδ²âÊÔ), Óõİ汾ÊÇHibernate 3.2, ¶ÔÓ¦µÄ´úÂëÊÇ:
DAO
/**
* ¸ù¾Ý²éѯÓï¾ä·µ»Ø½á¹û, ²¢°üº¬½á¹ûµÄÁÐÃû
* @param hql
* @param args
* @return
*/
public List queryAllForReport( final String hql, final Object... args) {
List list = getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);
for(int i =0; i < args.length; i++) {
q ......
ÊäÈë: select ID as ±àºÅ, NAME as ÐÕÃû, AGE as ÄêÁä from XXX
Êä³ö:
񅧏
ÐÕÃû
ÄêÁä
ÒªÇóÊÇÈç¹ûSQL±ä¶¯, ÈÔȻҪÏÔʾ³öÀ´ËùÓеıðÃû×Ö¶ÎÐÅÏ¢ºÍÊý¾Ý.
ÒòΪÏÖÔÚHibernateÓõıȽϹ㷺, ËùÒÔÓÅÏÈ¿¼ÂÇÓÃHibernateÀ´ÊµÏÖ, ½á¹û·¢ÏÖÈç¹ûÊÇʵÌåÓ³Éä²éѯÓï¾ä, ¿ÉÒÔ·½±ãµÄÓÃ:List<String> Query.getReturnAliases() »ñµÃ±ðÃû, È»¶øÎÒÃÇÖªµÀ²éѯʱÓÐʱºòÓï¾äÊǺܸ´ÔÓµÄ, ²»È«ÊÇHQL, ÕâʱºòÓÃSQLQueryµÄʱºò, ¾ªÑȵÄÌáʾÕâ¸ö·½·¨ÉÐδʵÏÖ(×îаæµÄHibernate 3.3 ÊÇ·ñʵÏÖÉÐδ²âÊÔ), Óõİ汾ÊÇHibernate 3.2, ¶ÔÓ¦µÄ´úÂëÊÇ:
DAO
/**
* ¸ù¾Ý²éѯÓï¾ä·µ»Ø½á¹û, ²¢°üº¬½á¹ûµÄÁÐÃû
* @param hql
* @param args
* @return
*/
public List queryAllForReport( final String hql, final Object... args) {
List list = getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);
for(int i =0; i < args.length; i++) {
q ......