共 82篇 前 10 页: 10    每页5篇 上一页   下一页  

j2ee学习


package net.meybo.mail;

import org.apache.log4j.Logger;

public class Log4jTest {
private static final Logger logger = (Logger) Logger.getLogger(Log4jTest.class.getName());

public static void main(String[] args) {

try {
String str = "3d";
logger.debug(
"str length:"+str.length());
int num = Integer.parseInt(str);
p(new Integer(num));
} catch (NumberFormatException e) {
logger.warn(
"字符串格式化错误!"+e);
logger.error(
"字符串格式化错误! error级别的!!!"+e.getMessage());
logger.info(
"系统初始化!");
}
}

public static void p(Object obj){
System.out.println(obj);
}

}
log4j.properties
log4j.rootLogger=DEBUG,stdout

log4j.appender.stdout=org.apache.log4j.RollingFileAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}  %p %c{1}.%M(%L) | %m%n
log4j.appender.stdout.MaxFileSize=30MB
log4j.appender.stdout.MaxBackupIndex=1  
log4j.appender.stdout.file=E:\\output.log

lunzi   2007-12-14 13:46:43 阅读:724  评论:0  引用:0
一、Model
package Bank;

public class BankCustomer {
private String userName;
private int age;

public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}
}
二、Controller
package Bank;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Controller extends HttpServlet {
private static final long serialVersionUID = 1L;
String next;

public Controller() {
super();
}

public void destroy() {
super.destroy();
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request,response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request,response);
}

public void init() throws ServletException {
}

protected void processRequest(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
if(request.getParameter(
"command").equals("showarticle")){
Contribute command = new Contribute();
next = command.getAllArticle(request, response);
}
dispatcher(request,response,next);
}

protected void dispatcher(HttpServletRequest request,HttpServletResponse response,String page) throws ServletException, IOException {
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(page);
dispatcher.forward(request, response);
}
}
三、util class
package Bank;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Contribute {
public Contribute() {

}

public String getAllArticle(HttpServletRequest request,
HttpServletResponse response) {
BankCustomer bc = new BankCustomer();
bc.setAge(3);
bc.setUserName(
"lunzi");
request.setAttribute(
"bc", bc);
return
"/fristc.jsp";
}
}
四、View
toFrist.jsp
<%@ page language=
"java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+
"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href=
"<%=basePath%>">
    
    <title>My JSP 'frist.jsp' starting page</title>
    
<meta http-equiv=
"pragma" content="no-cache">
<meta http-equiv=
"cache-control" content="no-cache">
<meta http-equiv=
"expires" content="0">    
<meta http-equiv=
"keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv=
"description" content="This is my page">
<!--
<link rel=
"stylesheet" type="text/css" href="styles.css">
-->

  </head>
  
  <body>
<a href=
"/DispatherServlet/servlet/Controller?command=showarticle">显示用户信息</a>
  </body>
</html>

frist.jsp
<%@ page language=
"java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+
"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href=
"<%=basePath%>">
    
    <title>My JSP 'frist.jsp' starting page</title>
    
<meta http-equiv=
"pragma" content="no-cache">
<meta http-equiv=
"cache-control" content="no-cache">
<meta http-equiv=
"expires" content="0">    
<meta http-equiv=
"keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv=
"description" content="This is my page">
<!--
<link rel=
"stylesheet" type="text/css" href="styles.css">
-->

  </head>
  
  <body>
  <jsp:useBean id=
"bc" type="Bank.BankCustomer" scope="request"></jsp:useBean>
  Customer Name:<jsp:getProperty name=
"bc" property="userName"/><br/>
  Customer age:<jsp:getProperty  name=
"bc" property="age"/>
  </body>
</html>


lunzi   2007-12-13 00:26:08 阅读:71  评论:0  引用:0

一、DAO
package org.lunzi.dao.user;

import java.util.List;

import org.lunzi.util.page.PaginationSupport;

public interface UserDAO {
public int findUsersCount();
public List findUserList(int first,int pageSize);
public PaginationSupport getUserList(int startIndex,int pageSize);
}
二、Impl
package org.lunzi.dao.impl.user;

import java.util.List;

import org.hibernate.Query;
import org.lunzi.dao.base.BaseDAO;
import org.lunzi.dao.user.UserDAO;
import org.lunzi.util.page.PaginationSupport;

public class UserDAOImpl extends BaseDAO implements UserDAO {

public int findUsersCount() {
Integer count = (Integer) getSession().createQuery(
"select count(*) from User").uniqueResult();
return count.intValue();
}

public List findUserList(int first, int pageSize) {
return getSession()
.createQuery(
"select new org.lunzi.model.SearchUserModel(u.username) from User u ")
.setFirstResult(first).setMaxResults(pageSize).list();
}

public PaginationSupport getUserList(int startIndex, int pageSize) {
PaginationSupport pageSupport = new PaginationSupport();
pageSupport.setStartIndex(startIndex);
pageSupport.setCountOnEachPage(pageSize);

Query query = getSession().createQuery(
"from User u");

pageSupport.setTotalCount(findUsersCount());
query.setFirstResult(pageSupport.getStartIndex());
query.setMaxResults(pageSupport.getCountOnEachPage());
pageSupport.setItems(query.list());
return pageSupport;
}
}

三、ServiceImpl
package org.lunzi.service.impl.user;

import java.util.List;

import org.lunzi.dao.user.UserDAO;
import org.lunzi.service.user.UserService;
import org.lunzi.util.page.PaginationSupport;

public class UserServiceImpl implements UserService {
private UserDAO userDao;

public UserDAO getUserDao() {
return userDao;
}

public void setUserDao(UserDAO userDao) {
this.userDao = userDao;
}

public int findUsersCount() {

return userDao.findUsersCount();
}
public List findUserList(int first,int pageSize){
return userDao.findUserList(first, pageSize);
}
public PaginationSupport getUserList(int startIndex, int pageSize){
return userDao.getUserList(startIndex, pageSize);
}
}
四、spring上下文配置
<?xml version=
"1.0" encoding="UTF-8"?>
<beans xmlns=
"http://www.springframework.org/schema/beans"
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.0.xsd">


<bean id=
"dataSource"
class=
"org.apache.commons.dbcp.BasicDataSource">
<property name=
"driverClassName"
value=
"com.mysql.jdbc.Driver">
</property>
<property name=
"url"
value=
"jdbc:mysql://localhost:3306/bookstore">
</property>
<property name=
"username" value="root"></property>
<property name=
"password" value="123456"></property>
</bean>

<bean id=
"sessionFactory"
class=
"org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name=
"mappingResources">
<list>
<value>org/lunzi/pojos/User.hbm.xml</value>
</list>
</property>
<property name=
"dataSource">
<ref bean=
"dataSource" />
</property>
<property name=
"hibernateProperties">
<props>
<prop key=
"hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key=
"connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider
</prop>
<prop key=
"hibernate.show_sql">true</prop>
<prop key=
"hibernate.cache.use_query_cache">true</prop>
<prop key=
"hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider
</prop>

</props>
</property>
</bean>

<bean id=
"transactionManager"
class=
"org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name=
"sessionFactory">
<ref local=
"sessionFactory" />
</property>
</bean>


<bean id=
"userDao" class="org.lunzi.dao.impl.user.UserDAOImpl">
<property name=
"sessionFactory">
<ref bean=
"sessionFactory" />
</property>
</bean>

<bean id=
"userDaoProxy"
class=
"org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name=
"transactionManager">
<ref bean=
"transactionManager" />
</property>
<property name=
"target">
<ref local=
"userDao" />
</property>
<property name=
"transactionAttributes">
<props>
<prop key=
"find*">PROPAGATION_REQUIRED, readOnly</prop>
<prop key=
"*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>

<bean id=
"userService"
class=
"org.lunzi.service.impl.user.UserServiceImpl">
<property name=
"userDao">
<ref bean=
"userDaoProxy" />
</property>
</bean>


</beans>

lunzi   2007-12-13 00:15:59 阅读:790  评论:0  引用:0

import java.sql.*;

public class ConnSqlServer2005 {
private Connection con;
private Statement stmt;
private ResultSet rs;

public ConnSqlServer2005() throws SQLException {
try {
Class.forName(
"com.microsoft.sqlserver.jdbc.SQLServerDriver");//1295
String url =
"jdbc:sqlserver://localhost:1443;DatabaseName=test;user=sa;password=123456";
con = DriverManager.getConnection(url);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String str =
"select *  from news";
rs = stmt.executeQuery(str);
while (rs.next()) {
System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
System.out.println(rs.getString(3));
}
/* rs = stmt.executeQuery("select max(id) from news");
rs.next();
int maxId = rs.getInt(1);
maxId++;
System.out.println("maxId:"+maxId);
String insertSql = "insert into news(id,title,content)values("+maxId+",'新闻标题','新闻内容')";
boolean go = stmt.execute(insertSql);
System.out.println("go="+go);
         */

} catch (Exception e) {
e.printStackTrace();
}
if (con != null) {
con.close();
}
if (stmt != null) {
stmt.close();
}
if (rs != null) {
rs.close();
}

}

public static void main(String[] args) throws SQLException {
ConnSqlServer2005 conn2005 = new ConnSqlServer2005();
}
}

参考:http://www.mylinux.com.cn/bbsShowDetail.do?id=2,180
lunzi   2007-10-07 14:27:18 阅读:681  评论:0  引用:0

1、   安装
1.1、软件安装
首先要安装JDK(仅仅安装JRE是不行的,因为JSP页面需要编译),最新的正式版是JDK1.4.2。然后把JBoss的压缩包解压到一个目录下,目录名一般是"Jboss_版本号",JBoss目前的最新正式版是JBoss4.0.02004920日发布)。下面的配置都是针对JBoss3.2.5
1.2、环境变量的设置
需要的环境变量有JAVA_HOMEJBOSS_HOME。环境变量JAVA_HOME设置为刚才JDK的安装路径,JBOSS_HOME设置为刚才JBoss解压后的路径。设置方法如下:
Windows2000中可以右键点我的电脑,选"属性"-> 选"高级"选项卡 > 点击"环境变量"按钮 > 点击系统变量的"新建"按钮,然后在对话框中输入"变量名"为"JAVA_HOME",变量值为JDK的安装路径,最后确定。同样的方法添加JBOSS_HOME
1.3、运行
直接执行JBoss\bin目录下的run.bat批处理文件即可,启动时间从20秒到1分钟左右不等,视CPU速度和内存大小而定。
1.4、终止JBoss的运行
最好不要直接关闭运行JBoss时的控制台窗口,直接关闭控制台可能导致JBoss下次启动时出现异常。正常关闭JBoss的方法是另外打开一个控制台窗口,执行JBoss\bin目录下的shutdown.bat批处理文件,不过要带一个参数"-S",注意是大写字母。为了方便起见,也可以创建一个快捷方式。
1.5、把JBoss安装为Windows2000的系统服务
每次从控制台启动JBoss不是很方便,虽然调试程序时可以从控制台看到很多信息,但有的时候需要JBoss作为系统服务自动运行。这需要下载一个小工具JavaService.exe,到如下地址下载:
http://www.alexandriasc.com/software/JavaService/index.html
我已经下载了该工具。


2、   WAR文件的部署
JBoss支持热部署,也就是war文件部署到服务器上后不需要重新启动JBossTomcat不支持这种特性)。war文件的部署很简单,直接将war文件拷贝到JBoss\server\default\deploy目录下即可。

2、   WAR文件的部署
JBoss支持热部署,也就是war文件部署到服务器上后不需要重新启动JBossTomcat不支持这种特性)。war文件的部署很简单,直接将war文件拷贝到JBoss\server\default\deploy目录下即可。


3、   JBoss的目录结构
    bin目录:改目录包含各种脚本文件以及相关文件,前面已经用过run.batshutdown.bat两个批处理文件。

    client目录:存储配置信息和可能被Java客户端应用程序或外部Web容器用到的jar文件。

    docs目录:保存在JBoss中引用到的XML文件和DTD文件(这里也提供了在JBoss中如何写配置文件的例子)。该目录下有针对不通的数据库(如MySqlOracleSQL ServerPostgres等)配置数据源的JCA配置文件。

     lib目录:这里存储运行JBoss微内核所需的jar文件。该目录下不要存储任何你自己的jar文件。

     server目录:这里的每一个子目录对应着一个服务器配置。该配置由运行脚本文件时的参数"-c <配置名称>"来确定。在server目录下有三个配置例子,即alldefaultminimal,每一个配置安装的服务都不一样。其中default下是缺省配置。

      minimal目录:仅加载启动JBoss所需的最少服务,如日志服务、JNDIURL部署扫描器(发现新的部署),不包含Web容器、EJBJMS

      all目录:启动所有的服务,包括RMI/IIOP、集群服务和Web服务部署器(默认配置不会被加载)。

启动JBoss时,如果run.bat不带任何参数,则使用的配置是server/default目录下的配置。如果要以其它目录下的配置启动JBoss,可以使用如下参数:

run  -c  all

上述命令将以all目录下的配置信息启动JBoss。也可以在server目录下新建目录,按自己的需要写配置文件。

下面以default目录为例,介绍服务器配置的目录结构。

      conf目录:该目录下有指定核心服务的jboss-service.xml文件,也可以放其它服务配置的文件。

      data目录:该目录是JBoss内置的数据库Hypersonic存储数据的地方,也是JBossMQthe JBoss implementation of JMS)存储相关信息的地方。

      deploy目录:这是部署J2EE应用程序(jarwarear文件)的位置,只需将相应文件拷贝到该目录下即可。该目录也用来热部署服务和JCA资源适配器。已经有一些服务部署到这个目录了,如jmx-console,你启动JBoss后即可访问。JBoss会周期性的扫描deploy目录,当有任何组件改变,JBoss会重新部署该程序。

      lib目录:存放服务器配置所需的jar文件,比如,你可以将JDBC驱动程序放在该目录下。

      log目录:存放日志信息。JBoss使用Jakarta log4j包存储日志,在程序中你也可以直接使用该信息。

      tmp目录:存储在部署过程中解压时产生的临时文件。

      work目录:Tomcat编译JSP文件时的工作目录。

目录datalogtmpworkJBoss安装后并不存在,当JBoss运行时自动建立。

4、   JBoss中和数据库的连接
这里所说的数据库连接是在JBoss中通过XML文件配置数据源,在程序中通过名字来访问数据库。从JBoss3.2.3之后的数据库连接配置比较简单,关于配置文件的书写在JBoss中针对不同的数据库有相应的例子,配置文件的例子在目录JBoss_HOME\docs\examples\jca下,如对MySql数据库的配置文件是mysql-ds.xml。只要针对数据库的具体情况修改该配置文件即可。修改完成之后,将配置文件拷贝到JBoss_HOME\server\default目录下。下面是一个设置MySql数据库为数据源的mysql-ds.xml配置文件的内容:
<?xml version="1.0" encoding="UTF-8"?>

<datasources>

  <local-tx-datasource>

    <jndi-name>MySqlTest</jndi-name>

    <connection-url>jdbc:mysql://127.0.0.1:3306/test</connection-url>

    <driver-class>com.mysql.jdbc.Driver</driver-class>

    <user-name>root</user-name>

    <password></password>

  </local-tx-datasource>

</datasources>

另外,连接数据库所用到的JDBC驱动程序要拷贝到JBoss_HOME\server\default\lib目录下。


引用地址:http://blog.programfan.com/trackback.asp?id=12567

lunzi   2007-09-22 12:02:26 阅读:1134  评论:0  引用:0

package com.netstar8.dao.test;

 

import java.io.File;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

 

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.ParserConfigurationException;

 

import org.w3c.dom.Document;

import org.w3c.dom.NamedNodeMap;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

import org.xml.sax.SAXException;

 

import com.netstar8.pojos.tree.BaseNode;

 

public class XmlToJavaList {

 

    static Document doc;// 声明xml文件

    static List<BaseNode> tree = new ArrayList<BaseNode>();

   

    public static void main(String[] args) {

       executeXml2List();

    }

 

    private static void executeXml2List() {

       DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

 

       dbf.setIgnoringComments(true);

       dbf.setIgnoringElementContentWhitespace(true);

      

       try {

           DocumentBuilder db = dbf.newDocumentBuilder();

           doc = db.parse(new File("E:\\tree.xml"));

           toTrans();

           showNewTree();

       } catch (ParserConfigurationException e) {

           e.printStackTrace();

       } catch (SAXException e) {

           e.printStackTrace();

       } catch (IOException e) {

           e.printStackTrace();

       }

    }

 

    private static void showNewTree() {

       BaseNode node;

       for(int m=0;m<tree.size();m++){

           node = tree.get(m);

           System.out.println("id:"+node.getId()+"\n");

       }

    }

 

    private static void toTrans() {

      

       BaseNode node;

       NodeList tagNodes = doc.getElementsByTagName("item");

       for (int i = 0; i < tagNodes.getLength(); i++) {

 

           NamedNodeMap atts = tagNodes.item(i).getAttributes();

           node = new BaseNode();

           for(int l=0;l<atts.getLength();l++){

             

              Node att = atts.item(l);

              if(att.getNodeName().equals("id")){

                  node.setId(Long.parseLong(att.getNodeValue()));

              }else if(att.getNodeName().equals("text")){

                  node.setName(att.getNodeValue());

              }

              System.out.println("atts"+l+":"+att.getNodeName()+"="+att.getNodeValue());

           }

           tree.add(node);

       }

    }

 

}

 tree.xml

<?xml version='1.0' encoding='iso-8859-1'?>
<tree id="0">
    <item id="1" text="t2">
    <item id="2" text="lb1" >    
    </item>    
    <item id="3" text="ts1" >    
    </item>    
    </item>
</tree>
lunzi   2007-09-21 18:18:16 阅读:362  评论:0  引用:0

import java.io.FileOutputStream;

import java.io.PrintWriter;

 

import javax.servlet.ServletContext;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

import javax.servlet.ServletException;

import javax.servlet.http.HttpSessionActivationListener;

import javax.servlet.http.HttpSessionEvent;

import javax.servlet.http.HttpSessionListener;

 

public final class SessionListener implements HttpSessionActivationListener,

       HttpSessionListener, ServletContextListener {

 

    private static final long serialVersionUID = 1L;

 

    ServletContext context;

 

    int users = 0;

 

    /**

     * Initialization of the servlet. <br>

     *

     * @throws ServletException

     *             if an error occure

     */

    public void init() throws ServletException {

       // Put your code here

    }

 

    public void sessionCreated(HttpSessionEvent event) {

       users++;

       log("sessionCreated(" + event.getSession().getId() + "),目前有" + users

              + "个用户");

       context.setAttribute("users", new Integer(users));

       System.out.println("sessionCreated(" + event.getSession().getId()

              + "),目前有" + users + "个用户");

    }

 

    public void sessionDestroyed(HttpSessionEvent event) {

       users--;

       log("sessionDestroyed(" + event.getSession().getId() + "),目前有" + users

              + "个用户");

    }

 

    public void contextDestroyed(ServletContextEvent sce) {

       log("contextDestroyed()-->ServletContext被销毁");

    }

 

    public void contextInitialized(ServletContextEvent sce) {

       this.context = sce.getServletContext();

       log("contextInitialized()-->ServletContext初始化了");

    }

 

    public void sessionDidActivate(HttpSessionEvent se) {

       log("sessionDidActivate(" + se.getSession().getId() + ")");

    }

 

    public void sessionWillPassivate(HttpSessionEvent se) {

       log("sessionWillPassivate(" + se.getSession().getId() + ")");

    }

 

    private