- 浏览: 1009387 次
文章分类
最新评论
-
18335864773:
很多公司项目 都在使用pageoffice 来操作word,e ...
用java生成word文档 -
Gozs_cs_dn:
请问下博主, 怎样将sitemesh3.xsd绑定 sitem ...
SiteMesh3配置 -
Rose_06:
springside4.0quick-start.bat报错原因 -
ilemma:
我也是刚参见工作啊,经理让自学这个,有些东西不太懂,能不能发个 ...
Apache Shiro在Web中的应用 -
shanbangyou:
你废了
程序员上班打酱油的方法
(1)配置基础装备。每个符合Java EE规范的web应用程序都需要符合相应的目录结构,如图所示。
工作之初,我们需要构建web应用的基础结构。不过,现在的IDE通常都有良好的Web开发支
持,MyEclipse9.1下载与安装请参见:http://guoyiqi.iteye.com/blog/1182653
剩下的只是按照Wizard的说明构建一个web应用的工程就行了。
a)配置web.xml。我们需要将org.springframework.Web.servlet.DispatcherServlet和
org.springframework.Web.context.ContextLoaderListener通过<servlet>和<listener>元素添
加至web.xml部署描述符文件中。另外,出于其他目的考虑,我们还可以
添加相应的Filter以及ServletContextListener以处理字符编码和Log4j初始化等配置内容,这些
完全根据当前应用程序的需求情况来决定。现在,我们的web.xml看起来如代码清单所示。
<?xml version="1.0" encoding="UTF-8"?> <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"> <!-- Filter 定义 --> <!-- Character Encoding filter --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <!-- Filter 映射 --> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--Spring的ApplicationContext 载入 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- Spring 刷新Introspector防止内存泄露 --> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> <!--配置Sring MVC的核心控制器DispatcherServlet --> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <!--为DispatcherServlet建立映射 --> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <!-- session超时定义,单位为分钟 --> <session-config> <session-timeout>20</session-timeout> </session-config> <!-- 出错页面定义 --> <error-page> <exception-type>java.lang.Throwable</exception-type> <location>/common/500.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/common/500.jsp</location> </error-page> <error-page> <error-code>404</error-code> <location>/common/404.jsp</location> </error-page> <error-page> <error-code>403</error-code> <location>/common/403.jsp</location> </error-page> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
b)WebApplicationContext文件的添加。我们需要在web-inf目录下添加org.springframework.Web.servlet.Dispatcherservlet和org.springframework.Web.context.ContextLoaderListener对应的WebApplicationContext配置文件(/WEB-INF/applicationContext.xml和
/WEB-INF/dispatcherServlet-servlet.xml)。这完全可以从Spring下载文件包中的sample目录下任何一个Web
应用程序中复制过来。只不过,需要根据命名规则修改相应的文件名称。当然,复制过来的文件内容
最好是清空,只保留可以在当前应用中能够通用的配置内容。
以上基础设施构建完成之后,我们开始“盖楼”。
(2)开发独立的业务逻辑。对于一个设计良好的web应用程序来说,虽然Web层依赖于业务层对象,
但业务层却不应该对Web层有任何的依赖。web层只应该看作是公开业务逻辑的一种视角或者交互方
式。这样做或者说这样看待系统的好处在于,业务层可以独立设计并实现,而不需要关心最终通过什
么手段将服务公开给用户。鉴于这样的理念,我们完全可以从业务层开始着手设计和实现。
entity - 领域模型层
使用Sql First的开发模式,先设计数据库,参考DBA的性能意见而不要太片面追求OO化的表结构。
package entity; public class Author { private String auId; private String auLname; private String phone; public String getAuId() { return auId; } public void setAuId(String auId) { this.auId = auId; } public String getAuLname() { return auLname; } public void setAuLname(String auLname) { this.auLname = auLname; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } }
access - 资源访问层
资源访问层包括对数据库、JMS、外部的WebService等的访问。
每个领域对象对应一个DAO类。
package dao; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.RowMapperResultSetExtractor; import entity.Author; public class AuthorDao { class UserRowMapper implements RowMapper{ public Object mapRow(ResultSet rs,int index) throws SQLException { Author author = new Author(); author.setAuId(rs.getString(1)); author.setAuLname(rs.getString(2)); author.setPhone(rs.getString(3)); return author; } } private JdbcTemplate jdbcTemplate; public JdbcTemplate getJdbcTemplate() { return jdbcTemplate; } public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } public List select(String where) { List list; String sql = "select * from authors"; list = jdbcTemplate.query(sql,new RowMapperResultSetExtractor(new UserRowMapper())); return list; } }
service - 业务逻辑层
Service层有两类对象,
一类是领域对象管理类(Entity Manager), 按领域对象划分,每个Manager类负责管理多个紧密关联的Entity的增删改查及其业务逻辑。
一类是业务服务类(Service),按业务脚本划分,可能会访问到多种领域对象与Manager类。
package service; import java.util.List; import dao.AuthorDao; import entity.Author; public class AuthorService { private AuthorDao authorDao; public AuthorDao getAuthorDao() { return authorDao; } public void setAuthorDao(AuthorDao authorDao) { this.authorDao = authorDao; } public List<Author> getAuthorsList(){ return authorDao.select(""); } }
web - Web MVC层
MVC框架使用SpringMVC框架 ,每个Action实现一组页面操作。
package web; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; import service.AuthorService; import entity.Author; public class AuthorAction implements Controller { private AuthorService authorService; private String viewName; // 用于获取配置文件中的viewPage属性 public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws Exception { Map<String,List<Author>> model=new HashMap<String,List<Author>>(); List<Author> authors=authorService.getAuthorsList(); model.put("model", authors); return new ModelAndView(this.getViewName(), model); // 调用getViewPage获取要返回的页面 } public String getViewName() { return viewName; } public void setViewName(String viewName) { this.viewName = viewName; } public AuthorService getAuthorService() { return authorService; } public void setAuthorService(AuthorService authorService) { this.authorService = authorService; } }
View模板用JSP2.0 , 尽量使用纯html+JSP2.0 EL展示页面。
<%@ page language="java" import="java.util.*,entity.*" pageEncoding="UTF-8"%> <%@ include file="/common/taglibs.jsp" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'authorsList.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> This is my JSP page2. <br> <c:forEach items="${model}" var="author"> ${author.auId},${author.auLname }${author.phone }<br/> </c:forEach> </body> </html>
Javascript与Ajax使用JQuery或Dojo Base。
尽量采用CSS框架规范CSS的布局。
(3)配置
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> <!-- 定义受环境影响易变的变量 --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> <property name="ignoreResourceNotFound" value="true" /> <property name="locations"> <list> <!-- 标准配置 --> <value>/WEB-INF/application.properties</value> </list> </property> </bean> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <!-- Connection Info --> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}"></property> <!-- Connection Pooling Info --> <property name="maxIdle" value="${dbcp.maxIdle}" /> <property name="maxActive" value="${dbcp.maxActive}" /> <property name="defaultAutoCommit" value="false" /> <property name="timeBetweenEvictionRunsMillis" value="3600000" /> <property name="minEvictableIdleTimeMillis" value="3600000" /> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"> <ref bean="dataSource" /> </property> </bean> <bean id="authorDao" class="dao.AuthorDao"> <property name="jdbcTemplate"> <ref bean="jdbcTemplate" /> </property> </bean> <bean id="authorService" class="service.AuthorService"> <property name="authorDao"> <ref bean="authorDao" /> </property> </bean> </beans>
dispatcherServlet-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="localeResolver" class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver"> </bean> <!--配置控制器的映射--> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="authorAction.do">authorAction</prop> </props> </property> </bean> <!--配置视图--> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/content/" /> <property name="suffix" value=".jsp" /> </bean> <!--指定控制器的实现类,并且配置其参数的值--> <bean id="authorAction" class="web.AuthorAction"> <property name="viewName"> <value>authorsList</value> </property> <property name="authorService"> <ref bean="authorService" /> </property> </bean> </beans>
(4)发布运行
发表评论
-
java冒泡排序对布尔类型进行排序
2015-12-11 23:06 646QQ 928900200 程序代写 java不能对 ... -
java星球机器人建模UML
2014-10-06 22:29 398Your task is to design and imp ... -
java循环
2014-09-19 09:56 401Computer Science, Claremont McK ... -
代写java程序qq:928900200
2014-06-18 12:46 3学校为全面提升学校教学质量,提高管理水平,决定开发一套小型成 ... -
StringTokenizer类的使用
2013-12-13 15:15 390StringTokenizer是一个用来分隔String的应 ... -
销售管理需求分析
2013-07-03 08:18 5021. 概述 目前,销售管理在企业管理中 ... -
基于jsp+servlet+jdbc的销售管理
2013-07-02 16:32 7源码http://apenny.taobao.com 1 ... -
基于jsp邮件收发系统用javamail包
2012-11-29 15:32 600基于jsp邮件收发系统用javamail包 ... -
jsp连接h2例子
2012-05-10 20:30 1127一、通过server形式连接 1.将h2.jar复制到web ... -
Java获取请求客户端的真实IP地址
2012-05-07 16:40 907通常通过request.getRemoteAd ... -
遇到get乱码前端编码要两次
2012-05-04 14:40 639<a id="t" href=&q ... -
SpringMVC使用@ResponseBody中文乱码
2012-03-31 11:45 3105Spring3.0 MVC @ResponseBody 的 ... -
java读取excel
2012-03-30 16:56 463import org.apache.poi.hssf.user ... -
spring mvc 3 上传文件
2012-03-30 16:31 1273spring mvc 支持web应用程序的文件上传功能,是由 ... -
解决 spring mvc 3.0 结合 hibernate3.2 使用<tx:annotation-driven>声明式事务无法提交的问题
2011-10-29 09:23 111711、问题复现 spring 3.0 + hiber ... -
基于Spring框架的Shiro配置
2011-10-26 15:39 3184一、在web.xml中添加shiro过滤器 < ... -
spring3 混合使用 XML 与注解(Annotation)进行 Bean 的配置
2011-10-21 17:34 3668设计 @Configuration 和 @Bean 的初衷,并 ... -
终于把springside4跑起来了
2011-10-20 15:54 2508springside4发布包中不再包含所有依赖jar,只包含源 ... -
springMVC最佳实践-基于注解的Controller
2011-10-13 23:09 919在spring 2.5发布之后,基于注解的Controller ... -
springmvc3-hibernate-crud例子
2011-10-12 23:45 660http://java.dzone.com/articles/ ...
相关推荐
个人用了成功破解,里面有破解文件,有myeclipse9.1注册机,以及破解方法相关文档。 myeclipse9.1注册机 myeclipse9.1注册码 myeclipse9.1破解方法 myeclipse9.1破解 myeclipse9.1序列号
《MyEclipse 9.1:打造高效J2EE与Android开发环境》 MyEclipse 9.1是一款强大的集成开发环境(IDE),专为Java EE和Android应用程序开发设计。对于那些热衷于构建企业级应用和移动应用的开发者而言,它是一个不可或...
MyEclipse9.1.part01.rar MyEclipse9.1.part02.rar MyEclipse9.1.part03.rar MyEclipse9.1.part04.rar MyEclipse9.1.part05.rar MyEclipse9.1.part06.rar MyEclipse9.1.part07.rar MyEclipse9.1.part08.rar ...
MyEclipse9.1.part01.rar MyEclipse9.1.part02.rar MyEclipse9.1.part03.rar MyEclipse9.1.part04.rar MyEclipse9.1.part05.rar MyEclipse9.1.part06.rar MyEclipse9.1.part07.rar MyEclipse9.1.part08.rar ...
MyEclipse9.1.part01.rar MyEclipse9.1.part02.rar MyEclipse9.1.part03.rar MyEclipse9.1.part04.rar MyEclipse9.1.part05.rar MyEclipse9.1.part06.rar MyEclipse9.1.part07.rar MyEclipse9.1.part08.rar ...
MyEclipse9.1.part01.rar MyEclipse9.1.part02.rar MyEclipse9.1.part03.rar MyEclipse9.1.part04.rar MyEclipse9.1.part05.rar MyEclipse9.1.part06.rar MyEclipse9.1.part07.rar MyEclipse9.1.part08.rar ...
MyEclipse9.1.part01.rar MyEclipse9.1.part02.rar MyEclipse9.1.part03.rar MyEclipse9.1.part04.rar MyEclipse9.1.part05.rar MyEclipse9.1.part06.rar MyEclipse9.1.part07.rar MyEclipse9.1.part08.rar ...
MyEclipse9.1.part01.rar MyEclipse9.1.part02.rar MyEclipse9.1.part03.rar MyEclipse9.1.part04.rar MyEclipse9.1.part05.rar MyEclipse9.1.part06.rar MyEclipse9.1.part07.rar MyEclipse9.1.part08.rar ...
MyEclipse9.1.part01.rar MyEclipse9.1.part02.rar MyEclipse9.1.part03.rar MyEclipse9.1.part04.rar MyEclipse9.1.part05.rar MyEclipse9.1.part06.rar MyEclipse9.1.part07.rar MyEclipse9.1.part08.rar ...
MyEclipse9.1.part01.rar MyEclipse9.1.part02.rar MyEclipse9.1.part03.rar MyEclipse9.1.part04.rar MyEclipse9.1.part05.rar MyEclipse9.1.part06.rar MyEclipse9.1.part07.rar MyEclipse9.1.part08.rar ...
MyEclipse9.1.part01.rar MyEclipse9.1.part02.rar MyEclipse9.1.part03.rar MyEclipse9.1.part04.rar MyEclipse9.1.part05.rar MyEclipse9.1.part06.rar MyEclipse9.1.part07.rar MyEclipse9.1.part08.rar ...
MyEclipse9.1.part01.rar MyEclipse9.1.part02.rar MyEclipse9.1.part03.rar MyEclipse9.1.part04.rar MyEclipse9.1.part05.rar MyEclipse9.1.part06.rar MyEclipse9.1.part07.rar MyEclipse9.1.part08.rar ...
用于破解MyEclipse9.1 具体操作里面给出了链接
确认myeclipse 没有开启,可以破解myeclipse9.1 任何类型版本的,将该替换的替换一下,然后利用注册机生成注册码成功破解,目前只能使用到2013年,很不错的。共享一下,祝你成功!!
适用与myeclipse9.1的破解,亲自试过管用
Myeclipse9.1_破解(Spring_Blue_Bling_Professional) Myeclipse9.1_破解(Spring_Blue_Bling_Professional) Myeclipse9.1_破解(Spring_Blue_Bling_Professional)
安装程序+破解myeclipse 9.1 64位.zip.021安装程序+破解myeclipse 9.1 64位.zip.021安装程序+破解myeclipse 9.1 64位.zip.021
《MyEclipse 9.1 安装与汉化指南》 MyEclipse是一款功能强大的Java集成开发环境,尤其在企业级应用开发中备受青睐。它基于Eclipse平台,提供了更多的对企业级开发的支持,如Java EE、Web、移动应用等。本文将详细...
我试过了,按照包里的方法,可以激活myeclipse9.1,没有问题。
MyEclipse 9.1 正式版破解及注册码,保证可行,里面附有详细破解步骤说明