1.1_SSH项目开发流程
1.分析需求 2.分析得出所有的表 3.創建數據庫(此處以mySql為例,數據庫名為DB_mldn) ?? 建表(用sybase等工具生成數據庫語言) ?? mySql的connection.url = "jdbc:mysql://localhost:3306/DB_mldn" ????????????????connection.Driver_class = "com.mysql.jdbc.Driver" 4.在MyEclipse下創建web project ,名稱為:MyZntDemo ?? 以此添加 spring,Hibernate,Struts 支持 5.在配置文件中添加以下代碼 ?? no.1?? 在 applicationContext.xml 中加入 <!-- 這個是在spring中定義了一個bean,它是org.springframework.orm.hibernate3 .HibernateTemplate的一個實例,這個類是hibernate的模板類, 里面有很多hibernate的常用操作方法,如常用CRUD增刪改查,在我們的DAO中一般都會這么寫一個 private HibernateTemplate hibernateTemplate; setter... getter... 在方法中我們經常就可以這么做了 getHibernateTemplate.save().. getHibernateTemplate.delete().. 類似的很多操作了 ??--> <bean id="hibernateTemplete" ?????? class="org.springframework.orm.hibernate3.HibernateTemplate" > ???? <property name="sessionFactory"> ???????? <ref bean="sessionFactory"/> ???? </property> </bean> ??????在<property>子節點下加入 ?? <!-- 自動提交事務 --> ????<prop key="hibernate.connection.autocommit">true</prop> ?? <!-- 現實sql語句 --> ????<prop key="hibernate.show_sql">true</prop> ??------------------------------------------------------- ????no.2??在 web.xml 中的<web-app>子節點下加入 ??<!-- 1.啟動一個WEB項目的時候,容器(如:Tomcat)會去讀它的配置文件web.xml.讀兩個節點: <listener></listener> 和 <context-param></context-param> 2.緊接著,容器創建一個ServletContext(上下文),這個WEB項目所有部分都將共享這個上下文. 3.容器將<context-param></context-param>轉化為鍵值對,并交給ServletContext. 4.容器創建<listener></listener>中的類實例,即創建監聽. 5.在監聽中會有contextInitialized(ServletContextEvent args)初始化方法,在這個方法中獲得 ServletContext = ServletContextEvent.getServletContext(); context-param的值 = ServletContext.getInitParameter("context-param的鍵"); 6.得到這個context-param的值之后,你就可以做一些操作了.注意,這個時候你的WEB項目還沒有完全啟動完成.這個動作會比所有的Servlet都要早. 換句話說,這個時候,你對<context-param>中的鍵值做的操作,將在你的WEB項目完全啟動之前被執行. 7.舉例.你可能想在項目啟動之前就打開數據庫. 那么這里就可以在<context-param>中設置數據庫的連接方式,在監聽類中初始化數據庫的連接. 8.這個監聽是自己寫的一個類,除了初始化方法,它還有銷毀方法.用于關閉應用前釋放資源.比如說數據庫連接的關閉. ?? --> ??<context-param> ??????<param-name>contextConfigLocation</param-name> ??????<param-value>/WEB-INF/classes/applicationContext.xml</param-value> ??</context-param> ??<servlet> ??????<servlet-name>context</servlet-name> ??????<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class> ??????<load-on-startup>1</load-on-startup> ??</servlet> ------------------------------------------- ????no.3??在項目上??new -> other -> struts 1.2 plugin ???????????? Plugin class??:??org.springframework.web.struts.contextLoaderPlugIn ???????????? ADD -> property : contextConfigLocation ?????????????????????????? value:?????? /WEB-INF/classes/applicationContext.xml ??????????此時在 struts-config.xml 中已經新加了以下代碼 <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> ????<set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" /> ??</plug-in> ????接著添加 ??<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller> ????注意<controller ...>一定放在<plug-in>之前, ????<message-resources parameter="org.shehu.myznt.struts.ApplicationResources" />在它們之間,否則報錯. ????此時Struts和Spring 已經融合在一起了 6.解決中文亂碼問題 ????新建類 ????org.sh.myznt.filter.EncodingFilter.java????implements??javax.servlet.Filter ????-------- ????在 web.xml 文件中配置 ????<!-- 解決中文亂碼問題 --> <filter> ??????<filter-name>encoding</filter-name> ??????<filter-class>org.sh.myznt.filter.EncodingFilter</filter-class> ??????<init-param> ??????????<param-name>charset</param-name> ??????????<param-value>gbk</param-value> ??????</init-param> ??</filter> ??<filter-mapping> ??????<filter-name>encoding</filter-name> ??????<url-pattern>/*</url-pattern> ??</filter-mapping>
EncodingFilter類的代碼如下: public class EncodingFilter implements Filter { ?????????????????? private String charset = null; ?????????????????? public void doFilter(ServletRequest request, ServletResponse response, ????????????????????????????????????????????????FilterChain chain) throws IOException, ServletException { ?????????????????????????? request.setCharacterEncoding(this.charset); ?????????????????????????? chain.doFilter(request, response); ??????????????????} ??????????????????public void init(FilterConfig arg0) throws ServletException { ????????????????????????????this.charset = arg0.getInitParameter("charset"); ??????????????????} ??????????????????public void destroy() {?? ??????????????????} ????????????} --------------------------??未完待續......
總結
以上是生活随笔為你收集整理的1.1_SSH项目开发流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring 声明式事务处理....XM
- 下一篇: 在Spring 中如果Girl要Kiss