﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-记忆好很大程度决定能力!-文章分类-j2ee</title><link>http://www.blogjava.net/microlab4321/category/24789.html</link><description>适时总结是一种很好的彌补方法!</description><language>zh-cn</language><lastBuildDate>Tue, 21 Aug 2007 11:46:08 GMT</lastBuildDate><pubDate>Tue, 21 Aug 2007 11:46:08 GMT</pubDate><ttl>60</ttl><item><title>Spring+Struts+Hibernate(一个实现用户注册的简单示例) </title><link>http://www.blogjava.net/microlab4321/articles/138294.html</link><dc:creator>冬天出走的猪</dc:creator><author>冬天出走的猪</author><pubDate>Tue, 21 Aug 2007 02:28:00 GMT</pubDate><guid>http://www.blogjava.net/microlab4321/articles/138294.html</guid><wfw:comment>http://www.blogjava.net/microlab4321/comments/138294.html</wfw:comment><comments>http://www.blogjava.net/microlab4321/articles/138294.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/microlab4321/comments/commentRss/138294.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/microlab4321/services/trackbacks/138294.html</trackback:ping><description><![CDATA[<p><span>本示例是</span> <span>Spring+Struts+Hibernate</span> <span>整合来编写一个用户注册的简单示例</span> <span>,</span> <span>项目名称为</span> <span>mySSH,</span> <span>示例中连接的数据库为</span> <span>MySQL,</span> <span>使用前应在</span> <span>MySQL</span> <span>中创建一个数据库</span> <span>mySSH,mySSH</span> <span>中创建数据库表</span> <span>user,SQL</span> <span>语句如下</span> <span>,CREATE TABLE &#8216;user&#8217;(&#8216;id&#8217; VARCHAR(32)NOT MULL,&#8217;username&#8217; VARCHAR(32) NOT NULL,&#8217;password&#8217; VARCHAR(32) NOT NULL,PRIMARY KEY (&#8216;id&#8217;))ENGINE=MYISAM;</span> <span>示例的简单代码如下</span> <span>:</span> </p>
<p>&nbsp;</p>
<p><span>&lt;</span> <span>一</span> <span>&gt;</span> <span>在</span> <span>mySSH/WEB-INF</span> <span>目录下编写</span> <span>web.xml</span> </p>
<p>&nbsp;</p>
<p align=left><span>&lt;?</span> <span>xml </span><span>version</span> <span>=</span> <span>"1.0" </span><span>encoding</span> <span>=</span> <span>"UTF-8"</span> <span>?&gt;</span> </p>
<p align=left><span>&lt;</span> <span>web-app </span><span>xmlns</span> <span>=</span> <span>"http://java.sun.com/xml/ns/j2ee" </span></p>
<p align=left><span>xmlns:xsi</span> <span>=</span> <span>"http://www.w3.org/2001/XMLSchema-instance" </span></p>
<p align=left><span>version</span> <span>=</span> <span>"2.4" </span></p>
<p align=left><span>xsi:schemaLocation</span> <span>=</span> <span>"http://java.sun.com/xml/ns/j2ee<span>&nbsp;&nbsp; </span></span></p>
<p align=left><span>http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>servlet</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>servlet-name</span> <span>&gt;</span> <span>actionServlet</span> <span>&lt;/</span> <span>servlet-name</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>servlet-class</span> <span>&gt;</span> <span>org.apache.struts.action.ActionServlet</span> <span>&lt;/</span> <span>servlet-class</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>init-param</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>param-name</span> <span>&gt;</span> <span>config</span> <span>&lt;/</span> <span>param-name</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>param-value</span> <span>&gt;</span> <span>/WEB-INF/struts-config.xml</span> <span>&lt;/</span> <span>param-value</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>init-param</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>load-on-startup</span> <span>&gt;</span> <span>1</span> <span>&lt;/</span> <span>load-on-startup</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;/</span> <span>servlet</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>servlet-mapping</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>servlet-name</span> <span>&gt;</span> <span>actionServlet</span> <span>&lt;/</span> <span>servlet-name</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>url-pattern</span> <span>&gt;</span> <span>*.do</span> <span>&lt;/</span> <span>url-pattern</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;/</span> <span>servlet-mapping</span> <span>&gt;</span> </p>
<p><span>&lt;/</span> <span>web-app</span> <span>&gt;</span> </p>
<p>&nbsp;</p>
<p><span>&lt;</span> <span>二</span> <span>&gt;</span> <span>在</span> <span>mySSH/WEB-INF/jsp</span> <span>目录下编写用户注册页面</span> <span>regedit.jsp</span> </p>
<p>&nbsp;</p>
<p align=left><span>&lt;%@</span> <span>page </span><span>contentType</span> <span>=</span> <span>"text/html;charset=GBK"</span> <span>%&gt;</span> </p>
<p align=left><span>&lt;</span> <span>html</span> <span>&gt;</span> </p>
<p align=left><span>&lt;</span> <span>head</span> <span>&gt;&lt;</span> <span>title</span> <span>&gt;</span> <span>Spring,Struts</span> <span>和</span> <span>Hibernate</span> <span>整合实例</span> <span>&lt;/</span> <span>title</span> <span>&gt;&lt;/</span> <span>head</span> <span>&gt;</span> </p>
<p align=left><span>&lt;%</span> </p>
<p align=left><span><span>&nbsp;&nbsp; </span>String msg=request.getAttribute(</span> <span>"msg"</span> <span>)==</span> <strong><span>null</span> </strong><span>?</span> <span>""</span> <span>:(String)request.getAttribute(</span> <span>"msg"</span> <span>);</span> </p>
<p align=left><span>%&gt;</span> </p>
<p align=left><span>&lt;</span> <span>body</span> <span>&gt;</span> <span>&lt;%=</span> <span>msg </span><span>%&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp; </span></span><span>&lt;</span> <span>form </span><span>action</span> <span>=</span> <span>"/mySSH/regedit.do" </span><span>method</span> <span>=</span> <span>"post"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>用户名</span> <span>:</span> <span>&lt;</span> <span>input </span><span>type</span> <span>=</span> <span>"text" </span><span>name</span> <span>=</span> <span>"name" </span><span>value</span> <span>=</span> <span>"<span>${user.username }</span>"<span>/&gt;&lt;</span><span>br</span><span>&gt;</span></span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>密码</span> <span>:</span> <span>&lt;</span> <span>input </span><span>type</span> <span>=</span> <span>"password" </span><span>name</span> <span>=</span> <span>"password" </span><span>value</span> <span>=</span> <span>"" </span><span>/&gt;&lt;</span> <span>br</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>input </span><span>type</span> <span>=</span> <span>"submit" </span><span>name</span> <span>=</span> <span>"method" </span><span>value</span> <span>=</span> <span>"</span> <span>提交</span> <span>"</span> <span>/&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>form</span> <span>&gt;</span> </p>
<p align=left><span>&lt;/</span> <span>body</span> <span>&gt;</span> </p>
<p><span>&lt;/</span> <span>html</span> <span>&gt;</span> </p>
<p>&nbsp;</p>
<p><span>&lt;</span> <span>三</span> <span>&gt;</span> <span>在</span> <span>mySSH/WEB-INF/jsp</span> <span>目录下编写用户注册成功页面</span> <span>success.jsp</span> </p>
<p>&nbsp;</p>
<p align=left><span>&lt;%@</span> <span>page </span><span>contentType</span> <span>=</span> <span>"text/html;charset=GBK"</span> <span>%&gt;</span> </p>
<p align=left><span>&lt;</span> <span>html</span> <span>&gt;</span> </p>
<p align=left><span>&lt;</span> <span>head</span> <span>&gt;&lt;</span> <span>title</span> <span>&gt;</span> <span>Spring,Struts</span> <span>和</span> <span>Hibernate</span> <span>整合实例</span> <span>&lt;/</span> <span>title</span> <span>&gt;&lt;/</span> <span>head</span> <span>&gt;</span> </p>
<p align=left><span>&lt;</span> <span>body</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>提交成功</span> <span>:</span> <span>你输入的用户名是</span> <span>:${user.name },</span> <span>密码是</span> <span>:${user.password }</span> </p>
<p align=left><span>&lt;/</span> <span>body</span> <span>&gt;</span> </p>
<p><span>&lt;/</span> <span>html</span> <span>&gt;</span> </p>
<p>&nbsp;</p>
<p><span>&lt;</span> <span>四</span> <span>&gt;</span> <span>在</span> <span>com.gc.vo</span> <span>包下编写</span> <span>POJO---User.java</span> </p>
<p>&nbsp;</p>
<p align=left><strong><span>package</span> </strong><span>com.gc.vo;</span> </p>
<p align=left><strong><span>public</span> </strong><strong><span>class</span> </strong><span>User {</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>private</span> </strong><span>String </span><span>id</span> <span>;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>private</span> </strong><span>String </span><span>username</span> <span>;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>private</span> </strong><span>String </span><span>password</span> <span>;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><span>User(String username,String password){</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>this</span> </strong><span>.</span> <span>username</span> <span>=username;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>this</span> </strong><span>.</span> <span>password</span> <span>=password;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><span>User(){</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><span>String getId() {</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>return</span> </strong><span>id</span> <span>;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>void</span> </strong><span>setId(String id) {</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>this</span> </strong><span>.</span> <span>id</span> <span>= id;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><span>String getPassword() {</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>return</span> </strong><span>password</span> <span>;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>void</span> </strong><span>setPassword(String password) {</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>this</span> </strong><span>.</span> <span>password</span> <span>= password;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><span>String getUsername() {</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>return</span> </strong><span>username</span> <span>;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>void</span> </strong><span>setUsername(String username) {</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>this</span> </strong><span>.</span> <span>username</span> <span>= username;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}<span>&nbsp;&nbsp; </span></span></p>
<p><span>}</span> </p>
<p>&nbsp;</p>
<p><span>&lt;</span> <span>五</span> <span>&gt;</span> <span>在</span> <span>com.gc.vo</span> <span>包下编写映射文件</span> <span>User.hbm.xml</span> </p>
<p>&nbsp;</p>
<p align=left><span>&lt;?</span> <span>xml </span><span>version</span> <span>=</span> <span>"1.0" </span><span>encoding</span> <span>=</span> <span>"UTF-8"</span> <span>?&gt;</span> </p>
<p align=left><span>&lt;!</span> <span>DOCTYPE </span><span>hibernate-mapping </span><span>PUBLIC </span></p>
<p align=left><span>"-//Hibernate/Hibernate Mapping DTD 2.0//EN" </span></p>
<p align=left><span>"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"</span> <span>&gt;</span> </p>
<p align=left><span>&lt;</span> <span>hibernate-mapping</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp; </span></span><span>&lt;</span> <span>class </span><span>name</span> <span>=</span> <span>"com.gc.vo.User" </span><span>table</span> <span>=</span> <span>"user"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>id </span><span>name</span> <span>=</span> <span>"id" </span><span>type</span> <span>=</span> <span>"java.lang.String"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>generator </span><span>class</span> <span>=</span> <span>"uuid.hex"</span> <span>&gt;&lt;/</span> <span>generator</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>id</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"username"</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>type</span> <span>=</span> <span>"java.lang.String"</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>column</span> <span>=</span> <span>"username"</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>not-null</span> <span>=</span> <span>"true"</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>length</span> <span>=</span> <span>"32"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"password"</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>type</span> <span>=</span> <span>"java.lang.String"</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>column</span> <span>=</span> <span>"password"</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>not-null</span> <span>=</span> <span>"true"</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>length</span> <span>=</span> <span>"32"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>class</span> <span>&gt;</span> </p>
<p><span>&lt;/</span> <span>hibernate-mapping</span> <span>&gt;</span> </p>
<p>&nbsp;</p>
<p><span>&lt;</span> <span>六</span> <span>&gt;</span> <span>在</span> <span>com.gc.dao</span> <span>包下编写接口类</span> <span>UserDAO.java</span> </p>
<p>&nbsp;</p>
<p align=left><strong><span>package</span> </strong><span>com.gc.dao;</span> </p>
<p align=left><strong><span>import</span> </strong><span>com.gc.vo.*;</span> </p>
<p align=left><strong><span>public</span> </strong><strong><span>interface</span> </strong><span>UserDAO {</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>新增用户</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>abstract</span> </strong><strong><span>void</span> </strong><span>createUser(User user);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>修改用户</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>abstract</span> </strong><strong><span>void</span> </strong><span>updateUser(User user);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>删除用户</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>abstract</span> </strong><strong><span>void</span> </strong><span>deleteUser(User user);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>查询用户</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>abstract</span> </strong><span>User queryUser(String name);</span> </p>
<p><span>}</span> </p>
<p>&nbsp;</p>
<p><span>&lt;</span> <span>七</span> <span>&gt;</span> <span>在</span> <span>com.gc.dao.impl</span> <span>包下编写接口类</span> <span>UserDAO</span> <span>的实现类</span> <span>UserDAOImpl.java</span> </p>
<p>&nbsp;</p>
<p align=left><strong><span>package</span> </strong><span>com.gc.dao.impl;</span> </p>
<p align=left><strong><span>import</span> </strong><span>com.gc.dao.UserDAO;</span> </p>
<p align=left><strong><span>import</span> </strong><span>com.gc.vo.User;</span> </p>
<p align=left><strong><span>import</span> </strong><span>java.util.ArrayList;</span> </p>
<p align=left><strong><span>import</span> </strong><span>java.util.List;</span> </p>
<p align=left><strong><span>import</span> </strong><span>org.springframework.orm.hibernate3.support.HibernateDaoSupport;</span> </p>
<p align=left><strong><span>import</span> </strong><span>org.springframework.orm.toplink.SessionFactory;</span> </p>
<p align=left><strong><span>public</span> </strong><strong><span>class</span> </strong><span>UserDAOImpl </span><strong><span>extends</span> </strong><span>HibernateDaoSupport </span><strong><span>implements</span> </strong><span>UserDAO{</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>依赖注入</span> <span>SessionFactory</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>private</span> </strong><span>SessionFactory </span><span>sessionFactory</span> <span>;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>定义查询</span> <span>SQL</span> <span>语气</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>private</span> </strong><span>String </span><span>SQL</span> <span>=</span> <span>"from user u where u.username=?"</span> <span>;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>新增用户</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>void</span> </strong><span>createUser(User user){</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>this</span> </strong><span>.getHibernateTemplate().save(user);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>修改用户</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>void</span> </strong><span>updateUser(User user){</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>this</span> </strong><span>.getHibernateTemplate().update(user);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>删除用户</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>void</span> </strong><span>deleteUser(User user){</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>this</span> </strong><span>.getHibernateTemplate().delete(user);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>查询用户</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><span>User queryUser(String name){</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>List userList;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>if</span> </strong><span>(</span> <strong><span>this</span> </strong><span>.getHibernateTemplate().find(</span> <span>SQL</span> <span>, name)==</span> <strong><span>null</span> </strong><span>)</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>userList=</span> <strong><span>new</span> </strong><span>ArrayList();</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>else</span> </strong></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>userList=</span> <strong><span>this</span> </strong><span>.getHibernateTemplate().find(</span> <span>SQL</span> <span>, name);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>return</span> </strong><span>(User)userList.get(0);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span>}</span> </p>
<p>&nbsp;</p>
<p><span>&lt;</span> <span>八</span> <span>&gt;</span> <span>在</span> <span>mySSH/WEB-INF</span> <span>目录下编写</span> <span>Struts</span> <span>的配置文件</span> <span>struts-config.xml</span> </p>
<p>&nbsp;</p>
<p align=left><span>&lt;?</span> <span>xml </span><span>version</span> <span>=</span> <span>"1.0" </span><span>encoding</span> <span>=</span> <span>"UTF-8"</span> <span>?&gt;</span> </p>
<p align=left><span>&lt;!</span> <span>DOCTYPE </span><span>struts-config </span><span>PUBLIC </span><span>"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" </span></p>
<p align=left><span>"http://struts.apache.org/dtds/struts-config_1_2.dtd"</span> <span>&gt;</span> </p>
<p align=left><span>&lt;</span> <span>struts-config</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;!-- </span><span>定义</span> <span>formBean --&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>form-beans </span><span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>form-bean </span><span>name</span> <span>=</span> <span>"user" </span><span>type</span> <span>=</span> <span>"com.gc.vo.User"</span> <span>/&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;/</span> <span>form-beans</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>action-mappings </span><span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>action </span><span>path</span> <span>=</span> <span>"/regedit" </span><span>type</span> <span>=</span> <span>"org.springframework.web.struts.DelegatingActionProxy" </span><span>name</span> <span>=</span> <span>"user"</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp; <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>forward </span><span>name</span> <span>=</span> <span>"success" </span><span>path</span> <span>=</span> <span>"WEB-INF/jsp/success.jsp"</span> <span>&gt;&lt;/</span> <span>forward</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>forward </span><span>name</span> <span>=</span> <span>"input" </span><span>path</span> <span>=</span> <span>"WEB-INF/jsp/regedit.jsp"</span> <span>&gt;&lt;/</span> <span>forward</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>action</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>action </span><span>path</span> <span>=</span> <span>"/input" </span><span>type</span> <span>=</span> <span>"org.apache.struts.actions.ForwardAction"</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>parameter</span> <span>=</span> <span>"/WEB-INF/jsp/regedit.jsp"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>action</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;/</span> <span>action-mappings</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;!-- </span><span>注册</span> <span>Struts</span> <span>插件</span> <span>,</span> <span>与</span> <span>Spring</span> <span>相结合</span> <span>--&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>plug-in </span><span>className</span> <span>=</span> <span>"org.springframework.web.struts.ContextLoaderPlugIn"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>set-property </span><span>property</span> <span>=</span> <span>"contextConfigLocation" </span><span>value</span> <span>=</span> <span>"/WEB-INF/config.xml"</span> <span>/&gt;</span> </p>
<p align=left><span>&nbsp; &nbsp; </span><span>&lt;/</span> <span>plug-in</span> <span>&gt;</span> </p>
<p><span>&lt;/</span> <span>struts-config</span> <span>&gt;</span> </p>
<p>&nbsp;</p>
<p><span>&lt;</span> <span>九</span> <span>&gt;</span> <span>在</span> <span>mySSH/WEB-INF</span> <span>目录下编写</span> <span>Spring</span> <span>的配置文件</span> <span>config.xml</span> </p>
<p>&nbsp;</p>
<p align=left><span>&lt;?</span> <span>xml </span><span>version</span> <span>=</span> <span>"1.0" </span><span>encoding</span> <span>=</span> <span>"UTF-8"</span> <span>?&gt;</span> </p>
<p align=left><span>&lt;!</span> <span>DOCTYPE </span><span>beans </span><span>PUBLIC </span><span>"-//SPRING//DTD BEAN//EN"</span> </p>
<p align=left><span>&nbsp; </span><span>"http://www.springframework.org/dtd/sring-beans.dtd"</span> <span>&gt;</span> </p>
<p align=left><span>&lt;</span> <span>beans</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>bean </span><span>id</span> <span>=</span> <span>"regedit" </span><span>class</span> <span>=</span> <span>"com.gc.service.impl.RegeditImpl"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"userDAO"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>ref </span><span>local</span> <span>=</span> <span>"userDAO"</span> <span>/&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;/</span> <span>bean</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>bean </span><span>name</span> <span>=</span> <span>"/regedit" </span><span>class</span> <span>=</span> <span>"com.gc.action.RegeditAction"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"regedit"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>ref </span><span>bean</span> <span>=</span> <span>"regedit"</span> <span>/&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;/</span> <span>bean</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>bean </span><span>name</span> <span>=</span> <span>"/input" </span><span>class</span> <span>=</span> <span>"com.gc.action.RegeditAction"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"regedit"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>ref </span><span>bean</span> <span>=</span> <span>"regedit"</span> <span>/&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;/</span> <span>bean</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;!-- </span><span>定义数据源</span> <span>--&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>bean </span><span>id</span> <span>=</span> <span>"dataSource" </span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>class</span> <span>=</span> <span>"org.apache.commons.dbcp.BasicDataSource"</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>destroy-method</span> <span>=</span> <span>"close"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;!-- </span><span>设定驱动</span> <span>--&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"driverClassName"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>value</span> <span>&gt;</span> <span>com.mysql.jdbc.Driver</span> <span>&lt;/</span> <span>value</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;!-- </span><span>设定</span> <span>URL --&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"url"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>value</span> <span>&gt;</span> <span>jdbc:mysql://localhost:3306/mySSH</span> <span>&lt;/</span> <span>value</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;!-- </span><span>设定用户名</span> <span>--&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"username"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>value</span> <span>&gt;</span> <span>tang</span> <span>&lt;/</span> <span>value</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;!-- </span><span>设定密码</span> <span>--&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"password"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>value</span> <span>&gt;</span> <span>admin</span> <span>&lt;/</span> <span>value</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> <span>&nbsp;</span></p>
<p align=left><span>&nbsp;</span><span>&lt;/</span> <span>bean</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;!-- </span><span>和</span> <span>Hibernate</span> <span>联系起来</span> <span>--&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>bean </span><span>id</span> <span>=</span> <span>"sessionFactory"</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>class</span> <span>=</span> <span>"org.springframework.orm.hibernate3.LocalSessionFactoryBean"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"dataSource"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>ref </span><span>bean</span> <span>=</span> <span>"dataSource"</span> <span>/&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"mappingResources"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>list</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>value</span> <span>&gt;</span> <span>com\gc\vo\User.hbm.xml</span> <span>&lt;/</span> <span>value</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>list</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"hibernateProperties"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>props</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>prop </span><span>key</span> <span>=</span> <span>"hibernate.dialect"</span> <span>&gt;</span> <span>org.hibernate.dialect.MySQLDialect</span> <span>&lt;/</span> <span>prop</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>prop </span><span>key</span> <span>=</span> <span>"hibernate.show_sql"</span> <span>&gt;</span> <span>true</span> <span>&lt;/</span> <span>prop</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp; <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>props</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;/</span> <span>bean</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;!-- </span><span>进行事务处理</span> <span>--&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>bean </span><span>id</span> <span>=</span> <span>"transactionManager"</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>class</span> <span>=</span> <span>"org.springframework.orm.hibernate3.HibernateTransactionManager"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"sessionFactory"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>ref </span><span>bean</span> <span>=</span> <span>"sessionFactory"</span> <span>/&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;/</span> <span>bean</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;!-- </span><span>进行事务代理</span> <span>--&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>bean </span><span>id</span> <span>=</span> <span>"userDAOProxy"</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>class</span> <span>=</span> <span>"org.springframework.transaction.interceptor.TransactionProxyFactoryBean"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"transactionManager"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>ref </span><span>bean</span> <span>=</span> <span>"transactionManager"</span> <span>/&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"target"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>ref </span><span>local</span> <span>=</span> <span>"userDAO"</span> <span>/&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;/</span> <span>bean</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;</span> <span>bean </span><span>id</span> <span>=</span> <span>"userDAO" </span><span>class</span> <span>=</span> <span>"com.gc.dao.impl.UserDAOImpl"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>property </span><span>name</span> <span>=</span> <span>"sessionFactory"</span> <span>&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;</span> <span>ref </span><span>bean</span> <span>=</span> <span>"sessionFactory"</span> <span>/&gt;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>&lt;/</span> <span>property</span> <span>&gt;</span> </p>
<p align=left><span>&nbsp;</span><span>&lt;/</span> <span>bean</span> <span>&gt;</span> </p>
<p><span>&lt;/</span> <span>beans</span> <span>&gt;</span> </p>
<p>&nbsp;</p>
<p><span>&lt;</span> <span>十</span> <span>&gt;</span> <span>在</span> <span>com.gc.action</span> <span>包下编写控制器</span> <span>RegeditAction.java</span> </p>
<p>&nbsp;</p>
<p align=left><strong><span>package</span> </strong><span>com.gc.action;</span> </p>
<p align=left><strong><span>import</span> </strong><span>com.gc.vo.User;</span> </p>
<p align=left><strong><span>import</span> </strong><span>com.gc.service.Regedit;</span> </p>
<p align=left><strong><span>import</span> </strong><span>javax.servlet.http.HttpServletRequest;</span> </p>
<p align=left><strong><span>import</span> </strong><span>javax.servlet.http.HttpServletResponse;</span> </p>
<p align=left><strong><span>import</span> </strong><span>org.apache.struts.action.Action;</span> </p>
<p align=left><strong><span>import</span> </strong><span>org.apache.struts.action.ActionForm;</span> </p>
<p align=left><strong><span>import</span> </strong><span>org.apache.struts.action.ActionForward;</span> </p>
<p align=left><strong><span>import</span> </strong><span>org.apache.struts.action.ActionMapping;</span> </p>
<p align=left><strong><span>public</span> </strong><strong><span>class</span> </strong><span>RegeditAction </span><strong><span>extends</span> </strong><span>Action{</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>private</span> </strong><span>Regedit </span><span>regedit</span> <span>;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>依赖注入</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><span>Regedit getRegedit() {</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>return</span> </strong><span>regedit</span> <span>;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>void</span> </strong><span>setRegedit(Regedit regedit) {</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>this</span> </strong><span>.</span> <span>regedit</span> <span>= regedit;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><span>ActionForward execute(ActionMapping mapping,</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>ActionForm form,HttpServletRequest request,</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HttpServletResponse response)</span> <strong><span>throws</span> </strong><span>Exception{</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>保存页面提交的用户信息</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>getRegedit().saveUser((User)form);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>request.setAttribute(</span> <span>"user"</span> <span>,(User)form);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>return</span> </strong><span>mapping.findForward(</span> <span>"success"</span> <span>);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p><span>}</span> </p>
<p>&nbsp;</p>
<p><span>&lt;</span> <span>十一</span> <span>&gt;</span> <span>在</span> <span>com.gc.service</span> <span>包下编写业务逻辑接口</span> <span>Regedit.java</span> </p>
<p>&nbsp;</p>
<p align=left><strong><span>package</span> </strong><span>com.gc.service;</span> </p>
<p align=left><strong><span>import</span> </strong><span>com.gc.vo.User;</span> </p>
<p align=left><strong><span>public</span> </strong><strong><span>interface</span> </strong><span>Regedit {</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>保存用户</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>abstract</span> </strong><strong><span>void</span> </strong><span>saveUser(User user);</span> </p>
<p><span>}</span> </p>
<p>&nbsp;</p>
<p><span>&lt;</span> <span>十二</span> <span>&gt;</span> <span>在</span> <span>com.gc.service</span> <span>包下编写具体的业务逻辑类</span> <span>RegeditImpl.java</span> </p>
<p>&nbsp;</p>
<p align=left><strong><span>package</span> </strong><span>com.gc.service.impl;</span> </p>
<p align=left><strong><span>import</span> </strong><span>com.gc.dao.UserDAO;</span> </p>
<p align=left><strong><span>import</span> </strong><span>com.gc.service.Regedit;</span> </p>
<p align=left><strong><span>import</span> </strong><span>com.gc.vo.User;</span> </p>
<p align=left><strong><span>public</span> </strong><strong><span>class</span> </strong><span>RegeditImpl </span><strong><span>implements</span> </strong><span>Regedit{</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>private</span> </strong><span>UserDAO&nbsp;</span><span>userDao</span> <span>;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>保存用户</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>void</span> </strong><span>saveUser(User user){</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>userDao</span> <span>.createUser(user);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>修改用户</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>void</span> </strong><span>updateUser(User user){</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>userDao</span> <span>.updateUser(user);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>修改用户</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>void</span> </strong><span>deleteUser(User user){</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>userDao</span> <span>.deleteUser(user);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>查询用户</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><span>User queryUser(String username){</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>return</span> </strong><span>userDao</span> <span>.queryUser(username);</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><span>//</span> <span>依赖注入</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><span>UserDAO getUserDao() {</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>return</span> </strong><span>userDao</span> <span>;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span>public</span> </strong><strong><span>void</span> </strong><span>setUserDao(UserDAO userDao) {</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>this</span> </strong><span>.</span> <span>userDao</span> <span>= userDao;</span> </p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp; </span>}</span> </p>
<p align=left><span>}</span> </p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/microlab4321/aggbug/138294.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/microlab4321/" target="_blank">冬天出走的猪</a> 2007-08-21 10:28 <a href="http://www.blogjava.net/microlab4321/articles/138294.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Myeclipse3.1+ Tomcat5.0 +j2sdk1.5搭建J2EE</title><link>http://www.blogjava.net/microlab4321/articles/138172.html</link><dc:creator>冬天出走的猪</dc:creator><author>冬天出走的猪</author><pubDate>Mon, 20 Aug 2007 08:02:00 GMT</pubDate><guid>http://www.blogjava.net/microlab4321/articles/138172.html</guid><wfw:comment>http://www.blogjava.net/microlab4321/comments/138172.html</wfw:comment><comments>http://www.blogjava.net/microlab4321/articles/138172.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/microlab4321/comments/commentRss/138172.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/microlab4321/services/trackbacks/138172.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
&nbsp;
<p><strong><span>Myeclipse3.1+ Tomcat5.0 +j2sdk1.5</span></strong><strong><span>搭建</span></strong><strong><span>J2EE</span></strong></p>
<p align=left><span>首先讲一下环境配置，注意我配置的环境是在</span><span>xp</span><span>下的，不是</span><span>linux</span><span>下的，配置的大致流程和操作系统无关，仅仅是在具体的安装上有差别。而配置成功与否，与操作系统无关。</span><span> </span></p>
<p align=left><span>　　软件安装分为一下几个部分：</span></p>
<p align=left><span>　　</span><span>1</span><span>、</span><span> java</span><span>环境安装：</span></p>
<p align=left><span>　<strong><span>　这里使用的是</span></strong></span><strong><span>jdk1.5</span></strong><strong><span>（</span></strong><strong><span>jdk1.4</span></strong><strong><span>是不可以的</span></strong><span>），这个可以到</span><span>sun</span><span>公司的网站去下载；</span><span> </span></p>
<p align=left><span>　　</span><span>2</span><span>、</span><span> tomcat</span><span>环境安装：</span></p>
<p align=left><span>　　</span><span>tomcat</span><span>的版本是</span><span>5.0</span><span>的，安装版或是解压版都是可以的；</span></p>
<p align=left><span>　　</span><span>3</span><span>、</span><span> eclipse 3 </span><span>安装：</span></p>
<p align=left><span>　　可以去下列地址下载</span><span><a href="http://www.eclipse.org/downloads/index.php"><span>http://www.eclipse.org/downloads/index.php</span></a></span></p>
<p align=left><span>　　我下载的是</span><span> 3.1M4 </span><span>版本，这个版本应该是比较新的。</span><span> 4</span><span>、</span><span> tomcat</span><span>插件安装；</span></p>
<p align=left><span>　　</span><span>tomcat</span><span>插件是要到下面地址下载</span><span><a href="http://www.sysdeo.com/eclipse/tomcatPlugin.html"><span>http://www.sysdeo.com/eclipse/tomcatPlugin.html</span></a></span><span>，下载之前需要查看插件是否适合</span><span>eclipse</span><span>的版本，我下载的是</span><span>tomcatPluginV3.zip</span><span>；</span></p>
<p align=left><span>　　</span><span>5</span><span>、</span><span> lomboz</span><span>插件安装；</span></p>
<p align=left><span>　　</span><span>lomboz</span><span>插件需要下载两个部分，一个是</span><span>emf</span><span>环境，另一个是</span><span>lomboz</span><span>插件，分别到下列地方去找</span></p>
<p align=left><span><a href="http://forge.objectweb.org/project/showfiles.php?group_id=97"><span>http://forge.objectweb.org/project/showfiles.php?group_id=97</span></a></span></p>
<p align=left><span><a href="http://download.eclipse.org/tools/emf/scripts/downloads.php#goto2.1.0I"><span>http://download.eclipse.org/tools/emf/scripts/downloads.php#goto2.1.0I</span></a></span></p>
<p align=left><span>　　我下载的是</span><span>emf-sdo-runtime-I200412160800.zip</span><span>和</span><span>org.objectweb.lomboz_3.1.0.N20050106.zip </span><span>；</span></p>
<p align=left><span>　　这里主要是根据</span><span>eclipse</span><span>选择适当的</span><span>lomboz</span><span>插件，然后查看一下</span><span>lomboz</span><span>插件的</span><span> </span><span>介绍，那里会介绍需要的</span><span>emf</span><span>插件的版本，然后再去下面的地址找</span><span>emf</span><span>插件。</span></p>
<p align=left><span>　　好了，该下载的都有了，下面我介绍一下如何安装和配置。</span></p>
<p align=left><span>　　一、</span><span> java</span><span>环境安装</span></p>
<p align=left><span>　　这个只要直接安装就可以了，不过最好能安装在系统盘以外的地方，这样可以更好理解</span><span>jvm</span><span>的配置；安装好了以后，需要配置环境变量，新建</span><span>JAVA_HOME</span><span>，并且配置</span><span>path</span><span>，把</span><span>jdk</span><span>的</span><span>bin</span><span>目录添加进去，这样就可以在命令行的任何路径使用</span><span>jdk</span><span>的命令了。</span></p>
<p align=left><span>　　</span><span>[</span><span>测试</span><span>] </span><span>：编写一个</span><span>hello world</span><span>程序，然后在</span><span>dos</span><span>下使用</span><span>javac hello.java</span><span>和</span><span>java hello</span><span>命令，如果可以正常执行，就证明</span><span>jdk</span><span>安装成功了。</span></p>
<p align=left><span>　　二、</span><span> tomcat</span><span>安装</span></p>
<p align=left><span>　　解压版的直接解压就可以了，然后配置</span><span>TOMCAT_HOME</span><span>，安装版的要注意的两点，一个是安装完之后</span><span>tomcat</span><span>的服务就能够启动的了，但是还是要配置</span><span>TOMCAT_HOME</span><span>；第二个就是需要查看一下安装程序是不是把</span><span>tomcat</span><span>服务注册成为</span><span>windows</span><span>的启动服务，需要到</span><span>&#8220;</span><span>服务</span><span>&#8221;</span><span>里查看，如果有这个选项就把它设置为手动启动，并且先停止这个服务。</span></p>
<p align=left><span>　　</span><span>[</span><span>测试</span><span>]</span><span>：使用</span><span>startup.bat</span><span>命令，服务正常启动之后，</span><span>ie</span><span>浏览器里输入</span></p>
<p align=left><span>　　</span><span><a href="http://localhost:8080/"><span>http://localhost:8080/</span></a> </span><span>如果出现正常的小猫页面，那就应该没有问题了。</span><span> </span></p>
<p align=left><span>　　三、</span><span> eclipse 3</span><span>安装</span></p>
<p align=left><span>　　</span><span>eclipse</span><span>的安装倒是很简单，只要解压，然后把</span><span>eclipse</span><span>目录复制到盘符下就可以了，启动的时候，系统会自动寻找</span><span>jvm</span><span>，当然可以再以后配置，但是好像是必须先安装</span><span>jdk</span><span>。</span></p>
<p align=left><span>　　四、</span><span> tomcat</span><span>插件安装，</span><span>emf</span><span>插件安装，</span><span>lomboz</span><span>插件安装</span></p>
<p align=left><span>　　这几部分的步骤都是一样的，解压软件包，然后根据里面的目录结构，把目录文件分别复制到</span><span>feature</span><span>或</span><span>plugins</span><span>目录里，这样就行了，下面将详细讲述一下</span><span>eclipse</span><span>的配置。</span></p>
<p align=left><span>　　五、</span><span> </span><span>配置</span><span>eclipse</span></p>
<p align=left><span>　　</span><span>1</span><span>、</span><span> </span><span>首先，打开配置界面</span><span> window-&gt;preferences</span><span>。如果这几个插件安装成功，左边的列表里应该有</span><span>lomboz</span><span>和</span><span>tomcat</span><span>的选项。如果没有，检查上面的步骤是不是正确。</span></p>
<p align=left><span>　　点击</span><span>java-&gt;Installed JREs</span><span>，然后显示如上，如果是初始安装的，只有显示第一个</span><span>jre</span><span>（不要问我什么是</span><span>jre</span><span>，自己查资料去），那是系统默认的安装在</span><span>c</span><span>盘的</span><span>jre</span><span>，如果系统当中安装了多个</span><span>jdk</span><span>，那么最好还是新建一个，点击</span><span>add</span><span>，然后选择你需要使用的</span><span>jdk</span><span>的位置，然后它会自动寻找其他的参数，点击</span><span>ok</span><span>。返回界面之后，不要忘记点选刚刚添加的</span><span>jdk</span><span>，要不然是没有用的。然后点击</span><span>ok</span><span>关闭这个窗口</span></p>
<p align=left><strong><span>一、安装</span></strong><strong><span>j2sdk1.5</span></strong><strong><span>，设定环境变量。</span></strong><strong><span><br></span></strong><span>　　</span><span><br></span><span>　　我的安装目录是</span><span> D:\j2sdk </span><span>。</span><span> </span><span>所以设定环境变量如下：</span><span><br></span><span>　　</span><span><br></span><span>　　操作：</span><span> My Computer(</span><span>右键</span><span>) ----&gt; Properties ----&gt; Advanced ----&gt; Environment Variables :<br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　设定环境变量为：</span><span><br></span><span>　　</span><span><br></span><span>　　</span><span>1. (</span><span>新建</span><span>)JAVA_HOME: D:\j2sdk<br></span><span>　　</span><span><br></span><span>　　</span><span>2. (</span><span>新建</span><span>)CLASSPATH: .;D:\j2sdk\lib\dt.jar;D:\j2sdk\lib\tools.jar (</span><span>注意：点号不能省略，表示当前目录</span><span>)<br></span><span>　　</span><span><br></span><span>　　</span><span>3. </span><span>编辑</span><span>PATH</span><span>的变量值，在后面加上</span><span> ;%JAVA_HOME%\bin </span><span>（注意：要有分号隔开）</span><span><br></span><span>　　</span><span><br></span><span>　　到这里，</span><span>j2sdk</span><span>安装完毕，用命令简单测试一下</span><span>: java -version<br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　<strong>二、安装</strong></span><strong><span>Tomcat5.0</span></strong><span><br></span><span>　　</span><span><br></span><span>　　去下载一个</span><span>Tomcat</span><span>的</span><span>zip</span><span>版，</span><span> </span><span>我用的是</span><span> jakarta-tomcat-5.0.28.zip </span><span>，</span><span> </span><span>不下安装版的目的是可以使用多个</span><span>Tomcat</span><span>。</span><span><br></span><span>　　</span><span><br></span><span>　　直接解压缩到</span><span> G </span><span>盘：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　<strong>三、安装</strong></span><strong><span>Eclipse3.1</span></strong><span><br></span><span>　　</span><span><br></span><span>　　下载地址：</span><span>http://www.eclipse.org/downloads/index.php </span><span>找到下面的页面：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　找个亚洲的服务器下载</span><span>,</span><span>速度会快一点。在</span><span>flashget</span><span>中如下：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　直接解压缩就可以用了，我是解压缩在</span><span> G </span><span>盘：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　到这里，</span><span> Eclipse3.1 </span><span>安装完毕。</span><span><br></span><span>　　</span><span><br></span><span>　　<strong>四、安装</strong></span><strong><span> Myeclipse4.0 (myeclipse</span></strong><strong><span>不是免费的，所以我们先下载一个试用版，再去网上下载一个注册机</span></strong><strong><span>)<br></span></strong><strong><span>　　</span></strong><span><br></span><span>　　下载版本：</span><span> MyEclipse Enterprise Workbench 4.0 GA for Windows 98/2000/XP (8/29/2005) </span><span>如下图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　在</span><span>flashget</span><span>下载中显示如下：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　下载完成后，开始安装：</span><span><br></span><span>　　</span><span><br></span><span>　　</span><span>1. </span><span>选择你的</span><span>eclipse</span><span>所在目录，其它都点下一步，默认安装。</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>2.</span><span>安装完毕之后，找到</span><span>myeclipse</span><span>的安装目录，</span><span> </span><span>如下图所示：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>3. </span><span>将</span><span>features</span><span>和</span><span>plugins</span><span>这</span><span>2</span><span>个目录复制出来。这样做的目的是为了在一台电脑上可以使用多个独立的</span><span>eclipse</span><span>开发平台。如下图所示：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>4. </span><span>将刚才安装的</span><span> myeclipse </span><span>删除（反安装）。</span><span><br></span><span>　　</span><span><br></span><span>　　</span><span>5. </span><span>将第</span><span>3</span><span>步复制的</span><span>features</span><span>和</span><span>plugins</span><span>这</span><span>2</span><span>个目录</span><span>, </span><span>覆盖到</span><span> G<br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　解释一下上面做的原因：</span><span> </span><span>因为</span><span>myeclipse</span><span>是</span><span>eclipse</span><span>的插件，所以只要把</span><span>features</span><span>和</span><span>plugins</span><span>这</span><span>2</span><span>个目录覆盖在</span><span>eclipse</span><span>的相应目录，</span><span>eclipse</span><span>会自动认出这些插件。</span><span><br></span><span>　　</span><span><br></span><span>　　到这一步，</span><span>myeclipse</span><span>算是安装完毕。</span><span> G </span><span>盘目录如下：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　<strong>五、破解</strong></span><strong><span>myeclipse4.0</span></strong><span><br></span><span>　　</span><span><br></span><span>　　</span><span>1.</span><span>去</span><span>google</span><span>搜索下载一个注册机。如下图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>2. </span><span>输入名字，算号，如下图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>3.</span><span>运行</span><span>eclipse.exe, </span><span>设定同目录下的</span><span>workspace</span><span>，</span><span> </span><span>如下图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center></p>
<p align=left>&nbsp;</p>
<p align=left><span>4.myeclipse</span><span>插件已经被自动认出，如下图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>5. </span><span>点击</span><span> Window ----&gt; Preferences ----&gt; Subscription ----&gt; Enter Subscription, </span><span>输入注册码，破解</span><span>myeclipse</span><span>，下图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　到这里，</span><span>myeclipse</span><span>破解完毕。</span><span><br></span><span>　　</span><span><br></span><span>　　<strong>六、设定</strong></span><strong><span>myeclipse</span></strong><strong><span>的</span></strong><strong><span> jdk </span></strong><strong><span>和</span></strong><strong><span> tomcat </span></strong><strong><span>服务器。</span></strong><span><br></span><span>　　</span><span><br></span><span>　　</span><span>1. </span><span>增加一个</span><span>jre</span><span>，</span><span> </span><span>点击</span><span> Window ----&gt; Preferences ----&gt; Installed JREs ----&gt; Add </span><span>如下图：（找到自己的</span><span>j2sdk</span><span>安装目录）</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>2. </span><span>指定</span><span>Tomcat</span><span>服务器，</span><span>Window ----&gt; Preferences ----&gt; Tomcat5, </span><span>并设定该</span><span>tomcat</span><span>所用的</span><span>jre</span><span>为我们上一步新增的。如下面</span><span>2</span><span>个图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　到这一步，我们的开发环境就搭建完毕了。</span><span><br></span><span>　　</span><span><br></span><span>　　<strong>七、新建一个项目来试一试？</strong></span><span><br></span><span>　　</span><span><br></span><span>　　</span><span>1. </span><span>点击</span><span> File ----&gt; New ----&gt; Project , </span><span>选择</span><span>Web Project</span><span>，</span><span> </span><span>再点下一步，</span><span> </span><span>如下图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>2. </span><span>在</span><span> Project Name </span><span>中输入</span><span>test</span><span>，</span><span> </span><span>点</span><span> finish</span><span>。</span><span> </span><span>如下图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>3. </span><span>开发工具自动生成了</span><span>test</span><span>项目。</span><span> </span><span>如下图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>4.</span><span>点击</span><span> WebRoot ----&gt; (</span><span>右键</span><span>)New ----&gt; JSP , </span><span>新建一个</span><span> JSP </span><span>页面</span><span> </span><span>（</span><span>hello.jsp</span><span>），</span><span> </span><span>如下图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>5. </span><span>编辑器生成的是</span><span>jsp</span><span>文件是按模板生成的，</span><span> </span><span>简单修改一下，</span><span> </span><span>代码如下图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>6. </span><span>再用同样的方法，</span><span> </span><span>新建一个叫</span><span> hello_result.jsp </span><span>的</span><span>JSP</span><span>文件，</span><span> </span><span>代码如下图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>7. deploy</span><span>（部署）这个</span><span>test</span><span>项目。</span><span> </span><span>如下图：</span><span> </span><span>（用黑线画了的按钮就是</span><span> deploy </span><span>的按钮）</span><span> </span><span>，</span><span> </span><span>在弹出窗口点</span><span> Add</span><span>，</span><span> </span><span>部署</span><span>test</span><span>项目。</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>8. </span><span>启动</span><span>Tomcat</span><span>服务器。如下图：</span><span> </span><span>（用黑线画了的按钮就是</span><span> </span><span>启动</span><span>Tomcat </span><span>的按钮）</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>9. Tomcat </span><span>启动输出信息如下图：</span><span><br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span>10. </span><span>网页访问和结果图</span><span>.<br></span><span>　　</span><span> </span></p>
<p align=center><span>　</span><span> </span></p>
<p align=left><span><br></span><span>　　</span><span> </span></p>
<p align=center></p>
<p align=left><span><br></span><span>　　到这里，终于搞完了！！！大家可以去</span><span>eclipse</span><span>的</span><span>workspace</span><span>目录下看看</span><span>test</span><span>项目的代码，也可以去</span><span>Tomcat</span><span>的</span><span>webapps</span><span>目录下，看看部署之后的</span><span> test</span><span>项目的结构。</span><span> </span></p>
<p align=left><span><br>&nbsp;</span></p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/microlab4321/aggbug/138172.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/microlab4321/" target="_blank">冬天出走的猪</a> 2007-08-20 16:02 <a href="http://www.blogjava.net/microlab4321/articles/138172.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java容器分析--List和Set</title><link>http://www.blogjava.net/microlab4321/articles/137049.html</link><dc:creator>冬天出走的猪</dc:creator><author>冬天出走的猪</author><pubDate>Wed, 15 Aug 2007 13:21:00 GMT</pubDate><guid>http://www.blogjava.net/microlab4321/articles/137049.html</guid><wfw:comment>http://www.blogjava.net/microlab4321/comments/137049.html</wfw:comment><comments>http://www.blogjava.net/microlab4321/articles/137049.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/microlab4321/comments/commentRss/137049.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/microlab4321/services/trackbacks/137049.html</trackback:ping><description><![CDATA[文章出自:http://www.blogjava.net/flyingis/archive/2005/12/21/24951.html<br>&nbsp; 作者：<a href="http://www.blogjava.net/flyingis/"><font color=#000080>Flyingis</font></a><br><br>&nbsp;&nbsp;&nbsp; 容器类可以大大提高编程效率和编程能力，在<span><font face="Times New Roman">Java2</font></span><span>中，所有的容器都由</span><span><font face="Times New Roman">SUN</font></span><span>公司的</span><span><font face="Times New Roman">Joshua Bloch</font></span><span>进行了重新设计，丰富了容器类库的功能。</span>
<p><span><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Java2</font></span><span>容器类类库的用途是&#8220;保存对象&#8221;，它分为两类：</span></p>
<p><font face="Times New Roman"><strong><span>Collection</span></strong><span>----</span></font><span>一组独立的元素，通常这些元素都服从某种规则。</span><span><font face="Times New Roman">List</font></span><span>必须保持元素特定的顺序，而</span><span><font face="Times New Roman">Set</font></span><span>不能有重复元素。</span></p>
<p><strong><span>Map</span></strong><span>----</span><span>一组成对的&#8220;键值对&#8221;对象，即其元素是成对的对象，最典型的应用就是数据字典，并且还有其它广泛的应用。另外，</span><span>Map</span><span>可以返回其所有键组成的</span><span>Set</span><span>和其所有值组成的</span><span>Collection</span><span>，或其键值对组成的</span><span>Set</span><span>，并且还可以像数组一样扩展多维</span><span>Map</span><span>，只要让</span><span>Map</span><span>中键值对的每个&#8220;值&#8221;是一个</span><span>Map</span><span>即可。</span><font size=2><br><br>1.</font><span><font size=2>迭代器</font></span></p>
<p><font size=2><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>迭代器是一种设计模式，它是一个对象，它可以遍历并选择序列中的对象，而开发人员不需要了解该序列的底层结构。迭代器通常被称为&#8220;轻量级&#8221;对象，因为创建它的代价小。</span></font></p>
<p><font size=2><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Java</span><span>中的</span><span>Iterator</span><span>功能比较简单，并且只能单向移动：</span></font></p>
<p><font size=2><span><span>(1)<span>&nbsp;&nbsp;&nbsp; </span></span></span><span>使用方法</span><span>iterator()</span><span>要求容器返回一个</span><span>Iterator</span><span>。第一次调用</span><span>Iterator</span><span>的</span><span>next()</span><span>方法时，它返回序列的第一个元素。</span></font></p>
<p><font size=2><span><span>(2)<span>&nbsp;&nbsp;&nbsp; </span></span></span><span>使用</span><span>next()</span><span>获得序列中的下一个元素。</span></font></p>
<p><font size=2><span><span>(3)<span>&nbsp;&nbsp;&nbsp; </span></span></span><span>使用</span><span>hasNext()</span><span>检查序列中是否还有元素。</span></font></p>
<p><font size=2><span><span>(4)<span>&nbsp;&nbsp;&nbsp; </span></span></span><span>使用</span><span>remove()</span><span>将迭代器新返回的元素删除。</span></font></p>
<p><font size=2><span>Iterator</span><span>是</span><span>Java</span><span>迭代器最简单的实现，为</span><span>List</span><span>设计的</span><span>ListIterator</span><span>具有更多的功能，它可以从两个方向遍历</span><span>List</span><span>，也可以从</span><span>List</span><span>中插入和删除元素。</span></font></p>
<p><font size=2><span>2.List</span><span>的功能方法</span></font></p>
<p><font size=2><span>List(interface): </span><span>次序是</span><span>List</span><span>最重要的特点；它确保维护元素特定的顺序。</span><span>List</span><span>为</span><span>Collection</span><span>添加了许多方法，使得能够向</span><span>List</span><span>中间插入与移除元素</span><span>(</span><span>只推荐</span><span>LinkedList</span><span>使用</span><span>)</span><span>。一个</span><span>List</span><span>可以生成</span><span>ListIterator</span><span>，使用它可以从两个方向遍历</span><span>List</span><span>，也可以从</span><span>List</span><span>中间插入和删除元素。</span></font></p>
<p><font size=2><span>ArrayList: </span><span>由数组实现的</span><span>List</span><span>。它允许对元素进行快速随机访问，但是向</span><span>List</span><span>中间插入与移除元素的速度很慢。</span><span>ListIterator</span><span>只应该用来由后向前遍历</span><span>ArrayList</span><span>，而不是用来插入和删除元素，因为这比</span><span>LinkedList</span><span>开销要大很多。</span></font></p>
<p><font size=2><span>LinkedList: </span><span>对顺序访问进行了优化，向</span><span>List</span><span>中间插入与删除得开销不大，随机访问则相对较慢</span><span>(</span><span>可用</span><span>ArrayList</span><span>代替</span><span>)</span><span>。它具有方法</span><span>addFirst()</span><span>、</span><span>addLast()</span><span>、</span><span>getFirst()</span><span>、</span><span>getLast()</span><span>、</span><span>removeFirst()</span><span>、</span><span>removeLast()</span><span>，这些方法</span><span>(</span><span>没有在任何接口或基类中定义过</span><span>)</span><span>使得</span><span>LinkedList</span><span>可以当作堆栈、队列和双向队列使用。</span></font></p>
<p><font size=2><span>3.Set</span><span>的功能方法</span></font></p>
<p><font size=2><span>Set(interface): </span><span>存入</span><span>Set</span><span>的每个元素必须是唯一的，因为</span><span>Set</span><span>不保存重复元素。加入</span><span>Set</span><span>的</span><span>Object</span><span>必须定义</span><span>equals()</span><span>方法以确保对象的唯一性。</span><span>Set</span><span>与</span><span>Collection</span><span>有完全一样的接口。</span><span>Set</span><span>接口不保证维护元素的次序。</span></font></p>
<p><font size=2><span>HashSet: </span><span>为快速查找而设计的</span><span>Set</span><span>。存入</span><span>HashSet</span><span>的对象必须定义</span><span>hashCode()</span><span>。</span></font></p>
<p><font size=2><span>TreeSet: </span><span>保持次序的</span><span>Set</span><span>，底层为树结构。使用它可以从</span><span>Set</span><span>中提取有序的序列。</span></font></p>
<p><font size=2><span>LinkedHashSet: </span><span>具有</span><span>HashSet</span><span>的查询速度，且内部使用链表维护元素的顺序</span><span>(</span><span>插入的次序</span><span>)</span><span>。于是在使用迭代器遍历</span><span>Set</span><span>时，结果会按元素插入的次序显示。</span></font></p>
<p><font size=2><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HashSet</span><span>采用散列函数对元素进行排序，这是专门为快速查询而设计的；</span><span>TreeSet</span><span>采用红黑树的数据结构进行排序元素；</span><span>LinkedHashSet</span><span>内部使用散列以加快查询速度，同时使用链表维护元素的次序，使得看起来元素是以插入的顺序保存的。需要注意的是，生成自己的类时，</span><span>Set</span><span>需要维护元素的存储顺序，因此要实现</span><span>Comparable</span><span>接口并定义</span><span>compareTo()</span><span>方法。<br><br></span></font></p>
<img src ="http://www.blogjava.net/microlab4321/aggbug/137049.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/microlab4321/" target="_blank">冬天出走的猪</a> 2007-08-15 21:21 <a href="http://www.blogjava.net/microlab4321/articles/137049.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>