SSH,


(一)、准备工作——2分钟

1、选择window-preferences菜单, 键入content,将红圈位置改为xyz

2、选择菜单“File-Export”,按下图,导出文件123.epf

3、用记事本,Ctrl+F查找到123.epf中的xyz,并将改成.abcdefghijklmnopqrstuvwxyz,保存。

4、选择菜单“File-Import”,导入文件123.epf。(同上面差不多,不再附图)

到此,代码提示功能完成。

下面,建立代码提示的快捷键。

选择window-preferences菜单, 键入keys,按下图改好配置。

有了这两种代码提示,下面的步骤才方便。

(二)建立数据库——5分钟

1、进入SQL Server,如下图,右击sa,“属性”,将sa登录名的密码改为sa

2、新建数据库news,并建立表news。表结构如下图。要注意的是:

a.Id必须是主键,一定要有主键!要不到hibernate中很麻烦的。

b.Id一定要是标识列,方便程序中的添加。

这两个地方要搞好,要不错了都不知道的。

3、输入几条数据。

(三)、建立web project项目,并完成基本框架——5分钟

1、新建项目news。

2、新建六个包。包名一定要按下面的规范!

3、调出DB Browse。

在DB Browser中右键新建

4、添加SSH支持。注意:一定要按Struts、Hibernate、Spring的顺序!!

配完到这里,项目中会有红叉,这是因为jar包冲突。

5、项目上右键,如下图点击进入。

将红框中的部分Remove掉,再点击“Add Library”

如原来建立了ssh的全部包,选中即可。

如果没有建好用户库,那得点“User Libraries”新建“ssh全部包”。

6、到此,框架已基本建立好。

(四)、完成过滤器的设置——3分钟

1、新建EncodingFilter类,注意要实现javax.servlet.Filter这一个接口。

2、基本代码如下。注:红框中的内容要改一下(原来是arg0什么的)

3、进入web.xml, 加入以下配置代码。保存。



    encodingFilter
    com.yenange.filter.EncodingFilter



    encodingFilter
    /*

(五)、生成实体类——2分钟

1、在DB Browse中, 找到表news,

2、按下图操作

注意:下图要写包名.类名

(六)、按Dao、Biz、Action的顺序依次完成相关的类与接口——十分钟

1、NewsDao

package com.yenange.dao;
import java.util.List;
import com.yenange.entity.News;

public interface NewsDao {
    public void add(News news);
    public List list();
}

2、NewsDaoHibImpl

package com.yenange.dao.hibimpl;
import java.sql.SQLException;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.yenange.dao.NewsDao;
import com.yenange.entity.News;
public class NewsDaoHibImpl extends HibernateDaoSupport implements NewsDao {
    @Override
    public void add(News news) {
        this.getHibernateTemplate().save(news);
    }
    @Override
    public List list() {
        return this.getHibernateTemplate().executeFind(new HibernateCallback(){
            @Override
            public List doInHibernate(Session session)
                    throws HibernateException, SQLException {
                String hql="select n from News n order by n.beginTime desc";
                Query query=session.createQuery(hql);
                return query.list();
            }
        });
    }
}

3、NewsBiz

package com.yenange.biz.impl;
import java.util.List;
import com.yenange.entity.News;

public interface NewsBiz {
    public void add(News news);
    public List list();
}

4、NewsBizImpl

package com.yenange.biz.impl;
import java.util.List;
import com.yenange.biz.NewsBiz;
import com.yenange.dao.NewsDao;
import com.yenange.entity.News;

public class NewsBizImpl implements NewsBiz {
    private NewsDao newsDao=null;
    public void setNewsDao(NewsDao newsDao) {
        this.newsDao = newsDao;
    }
    @Override
    public void add(News news) {
        this.newsDao.add(news);
    }
    @Override
    public List list() {
        return this.newsDao.list();
    }
}

4、在struts-config.xml中右键,新建form与action

NewsForm代码:

package com.yenange.struts.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import com.yenange.entity.News;

public class NewsForm extends ActionForm {
    private News item = new News();
    public News getItem() {
        return item;
    }
    public void setItem(News item) {
        this.item = item;
    }
}

5、NewsAction代码:

package com.yenange.struts.action;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import com.yenange.biz.NewsBiz;
import com.yenange.entity.News;
import com.yenange.struts.form.NewsForm;

public class NewsAction extends DispatchAction {
    private NewsBiz newsBiz=null;
    public void setNewsBiz(NewsBiz newsBiz) {
        this.newsBiz = newsBiz;
    }
    /** 添加操作 */
    public ActionForward doAdd(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {
        NewsForm newsForm = (NewsForm) form;
        News news=newsForm.getItem();
        news.setBeginTime(new Date());
        newsBiz.add(news);
        List list=newsBiz.list();
        request.setAttribute("list", list);
        return mapping.findForward("list");
    }
    /** 进入显示页面 */
    public ActionForward toList(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {
        List list=newsBiz.list();
        request.setAttribute("list", list);
        return mapping.findForward("list");
    }
}

(七)配置struts-config.xml——5分钟

1、进入News.java,输入以下代码:

import org.springframework.web.struts.ContextLoaderPlugIn;
import org.springframework.web.struts.DelegatingActionProxy;

很好找,它们分别是第一个和第二个文件。

2、将org.springframework.web.struts.DelegatingActionProxy覆盖action的type的=后面的值。

3、在也就是最后一句前加上:


 

这里不好记的是:

property=contextConfigLocation--->属性:上下文配置位置;

value="classpath:applicationContext.xml"--->值:类路径

注意:切莫把属性和值互换了!!

4、给action加上forward,要注意的是:path后面必须有“/”


   
        path="/news" scope="request"
        type="org.springframework.web.struts.DelegatingActionProxy">
       
       

(八)配置applicationContext.xml——10分钟

1、首先把前面的一部分回车整理成:



    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance

 


    xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd

 


    ">

要留空,方便加上一些代码。

2、心里要记住:要加的只是tx和aop这两个东西而已。



    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance


    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:aop=http://www.springframework.org/schema/aop


    xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd


http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
    ">

对比一下:其实只是复制粘贴了,把其它的东东改成tx和aop而已!

3、以下是事务的代码:

   
       
   
   
       
           
           
       
   
   
       

这个没有太好的办法,顺序和内容都是要记的,不过大部分可以通过快捷键按出来。

transaction-manager可以通过上面的复制。

execution这个单词是一定要记的,实在记不住,用词霸看一下“死刑”。

4、依次配置Dao、Biz 、Action,比较简单了:



   



   



唯一要记住的是:action中不能用id, 只能用name.

至此,配置全部完毕!

(九)、做测试——2分钟

package com.yenange.test;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.yenange.biz.NewsBiz;

public class Test {
    public static void main(String[] args) {
        ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
        NewsBiz newsBiz=(NewsBiz)ac.getBean("newsBiz");
        List list=newsBiz.list();
        System.out.println(list.size());
    }
}

测试一定要做,要不十有八九是有问题的!!

(十)、写页面代码——10分钟

1、index.jsp

<%@ page language="java" pageEncoding="GBK"%>

2、tag.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3、add.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>

 
    添加页面
   
 


 

4、list.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ include file="/tag.jsp" %>

 
    显示页面
 


 
Id 标题 内容 时间 作者
${item.id } ${item.title } ${item.content } ${item.beginTime } ${item.author }


     
          添加新闻
     
 


 

(十一)、运行调试——5分钟

注意:

1、如页面一片空白,试着将Tomacat清空了再试;

2、actionform中一定要new一下,要不页面是无法赋值的;

3、一定要测试,没有测试通过就不要做页面!!

4、做完配置文件,一定要耐心检查,要不一点点的错误后面很难发现的!

——————————————————————————————————

(一)、准备工作——2分钟
(二)、建立数据库——5分钟
(三)、建立web project项目,并完成基本框架——5分钟
(四)、完成过滤器的设置——3分钟
(五)、生成实体类——2分钟
(六)、按Dao、Biz、Action的顺序依次完成相关的类与接口——10分钟
(七)、配置struts-config.xml——5分钟
(八)、配置applicationContext.xml——10分钟
(九)、做测试——2分钟
(十)、写页面代码——10分钟
(十一)、运行调试——5分钟

2+5+5+3+2+10+5+10+2+10+5
=17+15+12+15
=32+27=59分钟

相关内容

    暂无相关文章