- 浏览: 196449 次
- 性别:
- 来自: 湖北
最新评论
-
xuyu461989426:
上来就是顶你一下,2008年我还在好久远啊
终于搞定了Windows下Tomcat Web服务器的SSL配置 -
zhengyong7232:
黄万里老先生
告诉你一个真实的三峡 -
hexin46373:
对楼主这种标题党表示深深的鄙视!浪费好多人的时间,鄙视之!
Java程序—如何精简JRE或者生成exe -
zlotus:
jre瘦身后 要多测测不同的机器, 容易出问题。没找到好的解决 ...
Java程序—如何精简JRE或者生成exe -
snow284885069:
楼主改改标题吧,耽误我好长时间,没有获取有用的信息,就看到斗嘴 ...
Java程序—如何精简JRE或者生成exe
1.7)新建AdminAction类
新建文件Bitrac\src\com\albertsong\bitrac\action\AdminAction.java,(以后所有XXAction都放在相同的目录下,不再重复说明)内容如下:
- package com . albertsong . bitrac . action ;
- import com . albertsong . bitrac . dao . Member ;
- import org . apache . commons . logging . Log ;
- import org . apache . commons . logging . LogFactory ;
- public class AdminAction {
- private Log log = LogFactory . getLog ( AdminAction . class ) ;
- private Member member ;
- public Member getMember () {
- return member ;
- }
- public void setMember ( Member member ) {
- this . member = member ;
- }
- public String login (){
- log . debug ( " member.username= " + member . getUsername ()) ;
- log . debug ( " member.password= " + member . getPassword ()) ;
- return " success " ;
- }
- }
要让log起作用需要将
D:\JavaTools\spring-framework-2.5.5\lib\log4j\log4j-1.2.15.jar
D:\JavaTools\spring-framework-2.5.5\lib\jakarta-commons\commons-logging.jar
复制到/WEB-INF/lib下
将
commons-logging.jar改名为commons-logging-1.1.1.jar,并将commons-logging-api-
1.1.jar删掉。(我们只需要同一个组件的最新版本,多余的将被删除,以后不再重复说明,如果大家发现加入到/WEB-INF/lib里的后来又没
了,那就是删除了)。
然后在Eclipse里点选Bitrac,按F5刷新,这时工程的文件列表已经更新。Alt+Enter打开工程属性对话
框。Java Build PathLibrariesAdd
JARs…将commons-logging-1.1.1.jar添加到编译路径,log4j-1.2.15.jar不需要添加,这个是在运行时起作用,
编译时不需要。添加好以后,编译的错误提示应该都消失了。
做好这些以后还需要对Log4j做一些配置。
在/WEB-INF/web.xml文件中添加
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>bitrac.root</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
bitrac.root定义了一个代表Web应用程序根目录的变量,这个变量会在log4j.properties中使用。
加好以后完整的web.xml如下:
- <? xml version = " 1.0 " encoding = " UTF-8 " ?>
- < web-app id = " bitrac " version = " 2.4 " xmlns = " http://java.sun.com/xml/ns/j2ee " xmlns:xsi = " http://www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation = " http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd " >
- < display-name > Bitrac Blog </ display-name >
- < context-param >
- < param-name > webAppRootKey </ param-name >
- < param-value > bitrac.root </ param-value >
- </ context-param >
- < context-param >
- < param-name > log4jConfigLocation </ param-name >
- < param-value > /WEB-INF/classes/log4j.properties </ param-value >
- </ context-param >
- < filter >
- < filter-name > Struts2 </ filter-name >
- < filter-class >
- org.apache.struts2.dispatcher.FilterDispatcher
- </ filter-class >
- </ filter >
- < filter-mapping >
- < filter-name > Struts2 </ filter-name >
- < url-pattern > /* </ url-pattern >
- </ filter-mapping >
- < listener >
- < listener-class > org.springframework.web.util.Log4jConfigListener </ listener-class >
- </ listener >
- <!--默认加载/WEB-INF 目录下的applicationContext.xml -->
- < listener >
- < listener-class > org.springframework.web.context.ContextLoaderListener </ listener-class >
- </ listener >
- < welcome-file-list >
- < welcome-file > index.jsp </ welcome-file >
- </ welcome-file-list >
- </ web-app >
新建Bitrac\src\log4j.properties文件,内容如下:
log4j.rootLogger=INFO, stdout, logfile
log4j.logger.com.albertsong=DEBUG
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${bitrac.root}/WEB-INF/log/bitrac.log
log4j.appender.logfile.MaxFileSize=512KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=3
# Pattern to output: date priority [category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
新建目录/WEB-INF/log
新建com.albertsong.bitrac.dao.Member.Java,内容如下:
- package com . albertsong . bitrac . dao ;
- import java . util . Date ;
- /**
- * @author Albert
- *
- */
- public class Member {
- private int id ;
- private short grade ;
- private String username ;
- private String password ;
- private String validate ;
- private boolean conserve ;
- private String contact ;
- private String picture ;
- private String explain ;
- private int numPost ;
- private int numComm ;
- private int numFile ;
- private Date publish ;
- private String address ;
- public int getId () {
- return id ;
- }
- public void setId ( int id ) {
- this . id = id ;
- }
- public short getGrade () {
- return grade ;
- }
- public void setGrade ( short grade ) {
- this . grade = grade ;
- }
- public String getUsername () {
- return username ;
- }
- public void setUsername ( String username ) {
- this . username = username ;
- }
- public String getPassword () {
- return password ;
- }
- public void setPassword ( String password ) {
- this . password = password ;
- }
- public String getValidate () {
- return validate ;
- }
- public void setValidate ( String validate ) {
- this . validate = validate ;
- }
- public boolean isConserve () {
- return conserve ;
- }
- public void setConserve ( boolean conserve ) {
- this . conserve = conserve ;
- }
- public String getContact () {
- return contact ;
- }
- public void setContact ( String contact ) {
- this . contact = contact ;
- }
- public String getPicture () {
- return picture ;
- }
- public void setPicture ( String picture ) {
- this . picture = picture ;
- }
- public String getExplain () {
- return explain ;
- }
- public void setExplain ( String explain ) {
- this . explain = explain ;
- }
- public int getNumPost () {
- return numPost ;
- }
- public void setNumPost ( int numPost ) {
- this . numPost = numPost ;
- }
- public int getNumComm () {
- return numComm ;
- }
- public void setNumComm ( int numComm ) {
- this . numComm = numComm ;
- }
- public int getNumFile () {
- return numFile ;
- }
- public void setNumFile ( int numFile ) {
- this . numFile = numFile ;
- }
- public Date getPublish () {
- return publish ;
- }
- public void setPublish ( Date publish ) {
- this . publish = publish ;
- }
- public String getAddress () {
- return address ;
- }
- public void setAddress ( String address ) {
- this . address = address ;
- }
- }
这里将Member.java放在dao下面,文件如何组织,包括类如何设计,完全是人为的,所谓的惯例和标准只是大家都公认的一些比较好的做法而已。我认为,目前将Member.java放在这里就可以了。
1.8)修改/index.jsp,内容如下:
- <%@ page contentType="text/html; charset=UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="refresh" content="0;url=admincp.jspx" />
- </head>
- <body>
- <p>Loading ...</p>
- </body>
- </html>
1.9)新建文件/admin/login.jsp,内容如下:
- <%@ page contentType="text/html; charset=UTF-8"%>
- <%@ taglib uri="/struts-tags" prefix="s" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title> Bitrac Demo Site - 管理员控制面板</title>
- </head>
- <body>
- <div id="content">
- <div id="AdmEnter">
- <s:actionerror />
- <s:form action="login" namespace="/admin">
- <fieldset><legend>管理登录</legend>
- <s:textfield label="用户名" name="member.username" />
- <s:password label="密码" name="member.password" />
- <s:submit value="登录" />
- </fieldset>
- </s:form>
- </div>
- </div>
- <div id="footer">
- <p>Powered by <a href="http://www.albertsong.com" target="_blank">Bitrac(J) v0.1</a>. Designed by <a href="mailto:loveyuki@gmail.com">Loveyuki</a> &Programmed by <a href="mailto:albertsong.com@gmail.com">Albert Song</a></p>
- </div>
- </body>
- </html>
这里使用了struts的标签来将视图层(JSP)和控制层
(Action)关联在一起。注意到<s:form action="login"
namespace="/admin">中的action和namespace就是我们在admin.xml中定义的。通过
name="member.username"这样的形式就可以将Action中的member成员和界面元素关联起来。
1.10)启动Tomcat,浏览http://localhost:8080/bitrac/
如
果上面的操作步骤都正确,那么会看到一个登录页面,点登录按钮会转到另一个页面。现在Struts2和Spring2已经集成在一起了。不过login里
面我们还什么都没写,这个程序还没有任何有用的功能。如果在用户名和密码框中填入内容,点登录以后在Eclipse的Console里会看到相应的调试信
息。
这里有很多警告,原因不清楚,不想看到它们并不难,在log4j.properties文件中log4j.logger.com.albertsong=DEBUG的下面加一行
log4j.logger.com.opensymphony.xwork2=ERROR
好了,现在清静了。
评论
又跑步起来...Could not open ServletContext resource [/WEB-INF/applicationContext.xml]这是什么问题?
找不到这个文件。
你要自己建一个文件applicationContext.xml,然后把上一节最后的spring配置内容复制进去才行。
Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
这是什么问题?
PS:强烈建议你把代码使用来标志,这样我们阅读看起来也很好.
ruvuoai说的是“不需要配置log4的路径”,只能将
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
去掉
其它两段要保留。
试了,的确默认会加载classes下的log4j.properties
发表评论
-
一道java入门级面试题
2009-06-04 21:43 1421刚刚写了一个解析类似jad文件的函数,突然觉得这个用来做面试题 ... -
如果你来写《Java编程那些事儿》
2009-04-10 16:05 1347好久不去CSDN,去了发现正热播《Java编程那些事儿》 h ... -
Windows下在同一台机器上安装多个Tomcat服务
2008-11-20 09:58 10424本文以Tomcat5.5为例,讲 ... -
Struts2+Spring2.5+Hibernate3.2实例教程(3-1)V0.1
2008-09-08 22:18 4405三、最简单的博客程序 ... -
Struts2+Spring2.5+Hibernate3.2实例教程(3-0)V0.1
2008-09-08 22:04 2915三、最简单的博客程序 写作大纲 1. 博客程序的 ... -
Struts2+Spring2.5+Hibernate3.2实例教程(2-7)V0.1
2008-08-31 22:29 46873) 配置文件修改 3.1)删除Bitrac\src\com ... -
Struts2+Spring2.5+Hibernate3.2实例教程(2-6)V0.1
2008-08-31 22:25 41943. 数据访问层采 ... -
Struts2+Spring2.5+Hibernate3.2实例教程(2-5)V0.1
2008-08-31 22:24 35442.3)新建DAO类文件 新建MemberDao.java, ... -
Struts2+Spring2.5+Hibernate3.2实例教程(2-4)V0.1
2008-08-31 22:23 63262)Spring2和Hibernate集成 2.1)复 ... -
Struts2+Spring2.5+Hibernate3.2实例教程(2-2)V0.1
2008-08-31 22:14 74962.集成Spring和Hibernate 1) Strut ... -
Struts2+Spring2.5+Hibernate3.2实例教程(2-1)V0.1
2008-08-31 22:05 6860二、最简单的SSH程序 概要 本文将完成最常见的logi ... -
Struts2.1.x+Spring2.5.x+Hibernate3.2.x实例教程(1)V0.1
2008-07-25 00:45 13939一、搭建Windows下Java Web开发环境 概要 ... -
Struts2.1.x+Spring2.5.x+Hibernate3.2.x实例教程(0)V0.1
2008-07-24 23:54 5038序言 为什么要写这个教程? 1. 检验自 ... -
终于搞定了Windows下Tomcat Web服务器的SSL配置
2008-05-29 16:27 8682本文涉及: 1.windows下的OpenSSL安装 2.自己 ... -
用Bouncy Castle实现AES-128-CBC加密解密
2008-05-23 22:58 17837Bouncy Castle Crypto APIs 是一个开源 ... -
用jar命令将java class文件打包以及编写方便执行jar文件的批处理文件
2008-05-22 13:07 87781.jar文件打包 假设需要 ... -
坚决放弃Hibernate
2007-01-08 16:45 3114现在的一个小项目用Hibernate已经让我觉得很不爽了。 第 ...
相关推荐
Struts1.2、Spring2.5和Hibernate3.2是经典的Java企业级开发框架组合,它们各自在应用程序的不同层次上发挥着重要作用。Struts1.2是一个MVC(Model-View-Controller)框架,主要负责处理用户界面与业务逻辑之间的...
总的来说,这个"struts2+spring2.5+hibernate3.2整合完整项目"提供了一个完整的开发实例,涵盖了前端到后端,以及数据库的各个环节。对于学习者而言,可以深入理解这三大框架的协同工作,提升Java Web开发技能。而...
Struts2、Spring和Hibernate是Java Web开发中的三...以上就是关于“Struts2+Spring2.5+Hibernate3.2整合示例”的主要知识点,这个整合实例涵盖了Java Web开发中的重要技术,对于开发者来说,深入学习和实践将非常有益。
总结来说,"struts2.1 + spring 2.5 + hibernate 3.2 增删改查"的例子涵盖了Web应用开发中的核心部分:前端请求处理(Struts2)、业务逻辑管理(Spring)和数据库操作(Hibernate)。这个例子为初学者提供了一个很好...
cdst ssh代码生成器,免费的,功能强悍的struts2+spring2.5+hibernate3.2的一套 代码生成系统。.zip cdst ssh代码生成器,免费的,功能强悍的struts2+spring2.5+hibernate3.2的一套 代码生成系统。.zip cdst ssh代码...
Struts2+Spring2.5+Hibernate3.2集成实例开发2 Struts2+Spring2.5+Hibernate3.2集成实例开发2
Struts2、Spring2.5和Hibernate3.2是经典的Java Web开发框架组合,被称为SSH(Struts2、Spring、Hibernate)集成。这个整合包可能是为了帮助开发者快速搭建基于这些技术的项目环境。 Struts2是MVC(Model-View-...
struts2+spring2.5+hibernate3.2 + freemarker 全新功能实现的增删改查+freemarker 摸版 struts2 的方式自己去看简单。 spring2.5 是用注释来注入 hibernate3.2 是用ejb3注解映射关系 hibernate3 +个属性可以自动...
非常好的学习资料 struts2+spring2.5+hibernate3.2大型项目spring mvc
Struts2+Spring2.5+Hibernate3.2集成实例开发 附带我本人写的一个实例,如果默认数据库Oracle10g ,可以根据实际情况调整;文件较大,分为两个部分下载,同时下在完成后,执行Struts2+Spring+Hibernate.part1.rar...
struts2.1.6+spring2.5+hibernate3.2整合实例,绝对原创,绝对运行正常,jar文件的截图和sql都有 由于自己学习时耗了很多时间所以要分,请大家理解,有什么问题可以和我联系http://blog.163.com/lzy_eagle
1、可以运行(发布后,删除\Tomcat 6.0\webapps\ssh\WebRoot\WEB-INF\lib下的asm-2.2.3.jar) 2、采用Struts1.2 + Spring2.5 + Hibernate3.2 整合开发 3、SSH入门级实例
标题 "ecside+struts2+spring2.5+hibernate3.2" 提及的是一个基于Java的Web开发框架组合,这个组合是企业级应用的常见选择,特别是对于那些需要强大持久层、业务层和表现层管理的项目。让我们逐一深入探讨这四个关键...
这两天做的一个适合初学者的SSH框架整合的例子,相信对初学者会有一定帮助。
struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 01部分 struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 02部分 大家只要将这两个部分的包全部下载下来,就可以搭建struts2 + spring + ...
由于上传限制,lib包不能上传,大家可以下载spring2.5版本的支持库(下最大的那个zip包),全部加进去就行了,还有mysql的连接包,项目很简单,直接导入eclipse,就可以使用,包内有mysql的sql文件,框架已经搭好,...
Struts2、Spring2.5和Hibernate3.2是经典的Java Web开发框架组合,它们各自在应用程序的不同层面提供了强大的功能。下面将详细解释这三个框架以及它们如何协同工作。 **Struts2** Struts2是一个基于MVC(Model-View...
在IT行业中,构建高效、可维护的企业级应用是至关重要的,..."Struts+hibernate+Spring的整合方法.doc"则可能深入探讨整合过程中的一些技巧和注意事项。这些文档对于学习和理解这个经典框架组合的集成过程非常有价值。
struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 01部分 struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 02部分 大家只要将这两个部分的包全部下载下来,就可以搭建struts2 + spring + ...
标题 "ecside+struts2+spring2.5+hibernate3.2部分源代码" 描述了一个基于四个核心技术的项目,它们分别是ECSide、Struts2、Spring 2.5 和 Hibernate 3.2。这些技术是Java开发中的重要组件,尤其在构建企业级应用时...