⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 让第一个ssh2跑起来.htm

📁 SSH流行框架。本例是一个最简单的入门教程。让你的第一个SSH跑起来。
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0037)http://radovi.javaeye.com/blog/366306 -->
<HTML dir=ltr xml:lang="zh-CN" 
xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>让第一个ssh2跑起来 - 老 男 孩 - JavaEye技术网站</TITLE>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<META 
content="今天在寝室窝了一天,由于前天老师给了个ss2+toplink的项目源码,要我去消化。直接看那三个整合具吃力,于是先从ssh2入手吧! 所使用的工具和环境。 jdk6+myeclipse6.5+tomcat6+mysql5+spring2.0+hibernate3+struts2 好了,开始我们的第一个ssh2之旅吧。 首先先分析一下我们的第一个ssh2项目的需求,简单的说就是有一张表单,让你填写用户 ..." 
name=description>
<META content="struts2,spring2,hibernate3,整合  让第一个ssh2跑起来" name=keywords><LINK 
href="/images/favicon.ico" type=image/x-icon rel="shortcut icon"><LINK 
title=" 老 男 孩" href="/rss" type=application/rss+xml rel=alternate><LINK 
media=screen href="让第一个ssh2跑起来.files/blog.css" type=text/css 
rel=stylesheet><LINK media=screen href="让第一个ssh2跑起来.files/black.css" 
type=text/css rel=stylesheet>
<SCRIPT src="让第一个ssh2跑起来.files/application.js" type=text/javascript></SCRIPT>
<LINK media=screen href="让第一个ssh2跑起来.files/SyntaxHighlighter.css" type=text/css 
rel=stylesheet>
<SCRIPT src="让第一个ssh2跑起来.files/shCoreCommon.js" type=text/javascript></SCRIPT>

<SCRIPT src="让第一个ssh2跑起来.files/hotkey.js" type=text/javascript></SCRIPT>

<STYLE>DIV#main {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; WIDTH: 740px; PADDING-TOP: 0px; BACKGROUND-COLOR: transparent; BORDER-RIGHT-WIDTH: 0px
}
</STYLE>

<META content="MSHTML 6.00.2900.5726" name=GENERATOR></HEAD>
<BODY>
<DIV id=header>
<DIV id=blog_site_nav><A class=homepage href="http://www.javaeye.com/">首页</A> <A 
href="http://www.javaeye.com/news">新闻</A> <A 
href="http://www.javaeye.com/forums">论坛</A> <A 
href="http://www.javaeye.com/blogs">博客</A> <A 
href="http://job.javaeye.com/">招聘</A> <A id=msna onclick="return false;" 
href="http://radovi.javaeye.com/blog/366306#"><U>更多</U> <SMALL>▼</SMALL></A> 
<DIV class=quick_menu style="DISPLAY: none"><A 
href="http://www.javaeye.com/ask">问答</A> <A 
href="http://www.javaeye.com/wiki">知识库</A> <A 
href="http://www.javaeye.com/groups">圈子</A> <A 
href="http://www.javaeye.com/search">搜索</A> </DIV></DIV>
<DIV id=user_nav><A class=welcome title=查看我的博客首页 
href="http://jrqjrq.javaeye.com/">欢迎 jrqjrq</A> <A title=发送站内短信 
href="http://app.javaeye.com/messages">收件箱</A> <A title=我的应用首页 
href="http://app.javaeye.com/">我的应用</A> 
<DIV class=quick_menu style="DISPLAY: none"><A 
href="http://app.javaeye.com/feed">我的订阅</A> <A 
href="http://app.javaeye.com/feed/my">我的参与</A> <A 
href="http://app.javaeye.com/chat">我的闲聊</A> <A 
href="http://app.javaeye.com/mygroup">我的圈子</A> <A 
href="http://app.javaeye.com/links">我的收藏</A> </DIV><A title=管理我的博客 
href="http://jrqjrq.javaeye.com/admin">我的博客</A> <A 
href="http://app.javaeye.com/profile">设置</A> <A class=nobg 
onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var m = document.createElement('input'); m.setAttribute('type', 'hidden'); m.setAttribute('name', '_method'); m.setAttribute('value', 'put'); f.appendChild(m);f.submit();return false;" 
href="http://radovi.javaeye.com/logout">退出</A> </DIV></DIV>
<DIV id=page>
<DIV class=clearfix id=branding>
<DIV id=blog_name>
<H1><A href="http://radovi.javaeye.com/">老 男 孩</A></H1></DIV>
<DIV id=blog_preview></DIV>
<DIV id=blog_domain>永久域名 <A 
href="http://radovi.javaeye.com/">http://radovi.javaeye.com/</A></DIV></DIV>
<DIV class=clearfix id=content>
<DIV id=main>
<DIV class=blog_main>
<DIV id=blog_nav>
<DIV class=digg id=b366306>
<H3><A class=digg onclick="digg_blog(366306);return false;" 
href="http://radovi.javaeye.com/blog/366306#">7顶</A><BR><A class=bury 
onclick="bury_blog(366306);return false;" 
href="http://radovi.javaeye.com/blog/366306#">2踩</A></H3></DIV>
<DIV id=pre_next><A class=pre 
href="http://radovi.javaeye.com/blog/365174">javaeye第五届问答大赛获奖感言</A> </DIV></DIV>
<DIV class=blog_title>
<DIV class=date><SPAN class=year>2009</SPAN><SPAN class=sep_year>-</SPAN><SPAN 
class=month>04</SPAN><SPAN class=sep_month>-</SPAN><SPAN 
class=day>13</SPAN></DIV>
<H3 class=type_original title=原创><A 
href="http://radovi.javaeye.com/blog/366306">让第一个ssh2跑起来</A></H3><STRONG>关键字: 
struts2,spring2,hibernate3,整合</STRONG> </DIV>
<DIV 
class=blog_content>今天在寝室窝了一天,由于前天老师给了个ss2+toplink的项目源码,要我去消化。直接看那三个整合具吃力,于是先从ssh2入手吧! 
<BR>所使用的工具和环境。 <BR>jdk6+myeclipse6.5+tomcat6+mysql5+spring2.0+hibernate3+struts2 
<BR><BR>好了,开始我们的第一个ssh2之旅吧。 
<BR><BR>首先先分析一下我们的第一个ssh2项目的需求,简单的说就是有一张表单,让你填写用户名和密码,提交后存入数据库。就这么简单,呵呵。 
<BR><BR><SPAN style="COLOR: red">第一步:。</SPAN>我们首先新建一张mysql数据表 <BR>sql如下 
<BR>CREATE TABLE mytest.users ( <BR>&nbsp;&nbsp; id INT NOT NULL, 
<BR>&nbsp;&nbsp; username VARCHAR(50), <BR>&nbsp;&nbsp; password VARCHAR(50), 
<BR>&nbsp; PRIMARY KEY (id) <BR>数据表创建好后结构如下: <BR><IMG 
src="让第一个ssh2跑起来.files/5b44b28b-0285-3bc4-a02f-ab43861134a4.jpg"> 
<BR>当然我已经有几天数据添加进去了 <BR><BR><IMG 
src="让第一个ssh2跑起来.files/2906ef4c-28ca-350e-a534-b655eda059a8.jpg"> <BR><BR><SPAN 
style="COLOR: red">第二步</SPAN> <BR>打开myeclipse,新建一个web项目,命名为ssh2-2, java 
ee规范我们选择5,如图 <BR><BR><BR><IMG 
src="让第一个ssh2跑起来.files/247dbe85-1e89-35f1-8b05-60df442d39ec.jpg"> 
<BR><BR><STRONG><SPAN style="COLOR: red">第三步 务必小心的一步</SPAN></STRONG> 
<BR>导入ssh2的各个jar,步骤如下: <BR>选中当前的项目后,点击菜单烂的myeclipse---project capablities----add 
hibernate项,跳出如图 <BR><BR><IMG 
src="让第一个ssh2跑起来.files/f0e22b3a-196e-391a-bd1a-c1d4561330f5.jpg"> 
<BR>务必按照图示选择,尤其是copy checkde……一项,然后点击next,默认next,去掉specify 
database……复选框,next,去掉create session……复选框,finish。 
<BR><BR>再次选中选中当前的项目后,点击菜单烂的myeclipse---project capablities----add spring项,跳出如图 
<BR><IMG src="让第一个ssh2跑起来.files/fe34b346-2165-33e2-9ede-753346c8b0ec.png"> 
<BR><BR><BR>依然务必按照如是选择,jar文件选择如下5个: <BR><BR><IMG 
src="让第一个ssh2跑起来.files/6a4570e8-1c02-3f2b-8a03-5fe409881380.jpg"> <BR><BR><IMG 
src="让第一个ssh2跑起来.files/e3389717-3280-3e97-ab5f-e829ba060f87.jpg"> <BR>点击next, 
<BR>之后按下选择,务必, <BR><BR><IMG 
src="让第一个ssh2跑起来.files/4d1f7daf-f9c7-3197-9cfe-1177a7f8a3b8.jpg"> 
<BR>next后finsh即可。 <BR>然后导入struts2的jar <BR>如下5个放到lib下 <BR><IMG 
src="让第一个ssh2跑起来.files/433260c7-a3bb-3937-aa23-d38e72748f03.jpg"> 
<BR>然后放入我们的数据库驱动jar mysql-connector-java-5.0.8-bin.jar 没得话附件中有 <BR><BR>至此,包都导入完毕 
<BR><BR><SPAN style="COLOR: darkred">第四步</SPAN> <BR>配置web.xml 代码如下 注意注释: <BR><PRE class=xml name="code">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&gt;
	
	        &lt;!-- struts2的常规配置 --&gt;
	&lt;filter&gt;
		&lt;filter-name&gt;struts2&lt;/filter-name&gt;
		&lt;filter-class&gt;
			org.apache.struts2.dispatcher.FilterDispatcher
		&lt;/filter-class&gt;
	&lt;/filter&gt;
	&lt;filter-mapping&gt;
		&lt;filter-name&gt;struts2&lt;/filter-name&gt;
		&lt;url-pattern&gt;/*&lt;/url-pattern&gt;
	&lt;/filter-mapping&gt;
	
	    &lt;!--  在web应用启动是自动形成一个spring容器 --&gt;
	&lt;listener&gt; 
		&lt;listener-class&gt;
			org.springframework.web.context.ContextLoaderListener
		&lt;/listener-class&gt;
	&lt;/listener&gt;
  &lt;welcome-file-list&gt;
    &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
  &lt;/welcome-file-list&gt;
&lt;/web-app&gt;
</PRE><BR><BR><SPAN style="COLOR: darkred">第五步:</SPAN> 
<BR>从视图层入手;在webroot目录下新建一个save.jsp文件 <BR>如下代码; <BR><PRE class=jsp name="code">&lt;%@ page language="java" import="java.util.*" pageEncoding="utf-8"%&gt;
&lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;

&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;
&lt;html&gt;
  &lt;head&gt;
    
    &lt;title&gt;My JSP 'save.jsp' starting page&lt;/title&gt;


  &lt;/head&gt;
  
  &lt;body&gt;
	&lt;s:form action='saveUser'&gt;
	&lt;s:textfield name="user.username" label="用名"&gt;&lt;/s:textfield&gt;
	&lt;s:textfield name="user.password" label="密码"&gt;&lt;/s:textfield&gt;
		&lt;s:submit&gt;&lt;/s:submit&gt;
	&lt;/s:form&gt;
  &lt;/body&gt;
&lt;/html&gt;

</PRE><BR>接下去顺水推舟,自然开发action,及控制层 <BR>新建包com.test.action.user 
<BR>新建一个SaveUserAction.java 代码初步如下: <BR><PRE class=java name="code">package com.test.action.user;

import com.opensymphony.xwork2.ActionSupport;
import com.test.bean.User;

public class SaveUserAction extends ActionSupport {

	private User user;

	public User getUser() {
		return user;
	}
	public void setUser(User user) {
		this.user = user;
	}
	@Override
	public String execute() throws Exception 
	{

		return SUCCESS;
	}	
}
</PRE><BR>于是,自然我们要新建一个bean <BR>新建包com.test.bean 新建User.java <BR><PRE class=java name="code">package com.test.bean;

public class User {

	private Integer id;
	private String username;
	private String password;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	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;
	}
	
}

</PRE><BR><BR>好了,现在我们先把控制层的action放在这里,开发业务层和持久层(DAO) <BR><BR>新建包com.test.dao 
<BR>建类UserDAO.java <BR>代码如下:<PRE class=java name="code">package com.test.dao;

import java.util.List;

import com.test.bean.User;

public interface UserDAO 
{
		
	public void saveUser(User user);
	
	public void removeUser(User user);
	
	public User findUserById(Integer id);
	
	public List&lt;User&gt; findAllUsers();
	
	public void updateUser(User user);
}

</PRE>这是一个接口 <BR>在开发dao的实现类 <BR>新建包com.test.dao.impl <BR>建类UserDAOImpl.java 
<BR>代码: <BR><PRE class=java name="code">package com.test.dao.impl;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.test.bean.User;
import com.test.dao.UserDAO;
/**
 * 
 * @author Administrator
 *  这个dao试用了hibernate的数据库操作语句
 */
public class UserDAOImpl extends HibernateDaoSupport implements UserDAO {

    /*
     * 获取所有数据
     */
	public List&lt;User&gt; findAllUsers() {
		String hql = "from User user order by user.id desc";
		return (List&lt;User&gt;) this.getHibernateTemplate().find(hql);
	}

	/*
	 * 获取指定的数据
	 */
	public User findUserById(Integer id) {
		User user = (User) this.getHibernateTemplate().get(User.class, id);
		return user;
	}

	public void removeUser(User user) {

		this.getHibernateTemplate().delete(user);
	}

	public void saveUser(User user) {

		 this.getHibernateTemplate().save(user);
	}

	public void updateUser(User user) {

		this.getHibernateTemplate().update(user);
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -