一、Java文件的架构
编码Java文件的,把文件分成四大类:action、service、serviceImpl、dao、daoImpl、po。
二、404界面css和js的文件路径问题
Css和js文件采用绝度路径
三、除去MyEclipse的js验证的有效方法
1. 选中当前工程—properties—MyEclipse—validation—Excluded Resource下找到须要作废验证的文件或者文件夹就可以了。 2. 找到在项目路径下面的.project文件中配置了一些验证信息. 去掉以下几行即可
复制代码代码如下:
<buildCommand> <name>org.eclipse.wst.jsdt.core.javascriptValidator</name> <arguments> </arguments> </buildCommand> <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
前者方法不是很实用, 在选择去掉验证之后, 仍然会弹出验证窗口, 而且保存项目时还是会重新验证, 这个验证过程也很慢。因此推荐后者,去掉这几行配置之后重启MyEclipse,此时会问你是否要恢复javascript的验证,选否即可。
四、ssh的hibernate延迟加载问题
用到srping的filter(要加在strutsfilter有前面,因为它也有先后顺序,有先进先出的原则)在我们的web.xml里面加上
<filter>
<filter-name>openSessionInView</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>openSessionInView</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> 这样做就是让opensession closesession全交给视图部分,最后视图部分用完了session再去关session就不会有上面的错误了
五、mysql 中 datetime和 timestamp的区别
DATETIME日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。 TIMESTAMP[(M)]时间戳。范围是'1970-01-01 00:00:00'到2037年。TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。TIMESTAMP值返回后显示为'YYYY-MM-DD HH:MM:SS'格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0。
六、hibernate默认值
将dynamic-insert设置为true,同样的保存,hibernate会动态生成SQL语句,没有值的字段不会出现在insert语句中.
这样的话插入数据时就是使用数据原本的默认值。
最好添加:dynamic-insert="true"和dynamic-update="true"
七、百度UEditor修改右下角统计字数包含html样式
找到ueditor.all.js这个文件,修改“getContentLength”函数
八、Spring管理下Struts的Action
Spring管理下struts的action是单例的,也就是不同用户访问相同的action时,里面的变量值会共享。
九、Uploadify的session
Uploadify在发送文件的时候是通过Flash实现的,所以有些浏览器不会把cookie发过去,也就是在服务端会新建一个session,这样的身份验证就会出错。所以我们要新建一个context管理。
十、Uploadify的发送错误地址
Uploadify的js文件本来就是有错的,所以修改里面的代码就能实现:
将 this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url)
改成
this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);
this.settings.button_image_url = this.settings.button_image_url ?
SWFUpload.completeURL(this.settings.button_image_url) :
this.settings.button_image_url
十一、Sql语句
Sql语句都放在Dao里面,这样我们查看持久层发生的的事就清晰很多。
十二、Exception处理的地方
如果返回的类型是数值,exception的处理地方就是service,因为在action里面及时想接收一个数值而已,所以可以在service就处理到(例如:save、update、delete);如果返回类型是实体,那么action要接收的及时一个实体,所以无法再service处理,把exception交个action处理(例如find、get)。Dao不处理exception,把它向外抛出。
十三、Action的处理
Action类可以添加多个方法,不同的方法对一个不同一个请求。Save和update可以同在一个action的不同方法。Find和get可能就要另出来一个action。
十四、注入方式
通过零注解注入( )。在spring的配置文件里。主要配置po、Dao、service、action
十五、如何不用再地址输入工程名字
有个conf文件夹里有个server.xml文件,把他下回去,打开后找到 <Hostname="localhost"appBase="webapps"unpackWARs="true"xmlValidation="false"xmlNamespaceAware="false"></Host>找到后把下面这段话: <Context path="" docBase="/你的工程名称" privileged="true" reloadable="true" ></Context>增加到<host>和</host>中间即可。