myeclipse 常规web项目创建
配置jdk 我的jdk C:\Program Files\Java\jdk1.7.0_67
window --> preferences -->
Java --> Installed JREs --> add -->
standard VM --> jre home directory 选择文件夹我这里是 C:\Program Files\Java\jdk1.7.0_67
finished 回到前面的界面 --> 勾选使用的版本
配置tomcat 我的tomcat E:\tomcat\apache-tomcat-7.0.67
window --> preferences -->
MyEclipse --> Servers --> Tomcat -->... directory选择文件夹 E:\tomcat\apache-tomcat-7.0.67
新建项目及部署server
File --> new --> web project --> ...
我的workspace: E:share\win81workspace\项目名
项目新加jar包(3种方式):
1.项目文件夹下新建 userlib目录 把需要的jar包拷进来
在项目上右键菜单选择Build Path --> Configure Build Path -->
Libraries --> add jars --> 选择userlib
按理说对于本地跑来说,这样不会有问题,因为build path后,项目的.classpath文件里会增加相应的到哪里去找需要的类库的定义,
然后ClassLoader会根据这个文件去加载这些classes和jar包,但是对于要部署到远程机器上的java web项目而言,这样做是有问题的
因为并不是本地的jre去执行ClassLoader,而是web服务器的ClassLoader去执行,它负责加载的是WEBRoot目录下的jar包,准确说是WEB-INF/lib下的
所以这时会出现问题. 详见:http://blog.csdn.net/qiulongtianshi/article/details/8520854
2.jar包拷到WEB-INF/lib 下 然后refresh (java web用这种,普通java项目用上一种)
3.使用包管理工具 maven
部署项目方式
1.选项卡 有部署的快捷图标可鼠标移到图标上看每个图标 提示:Deploy... 或者Run/stop/restart server 的那两个就是了(它们挨着)
2.下方控制台区域的servers选项卡,选中配置的tomcat,然后右键菜单,选择add Deployment ...
notice:
Java EE 6 中采用的是 Servlet 3.0,Servlet 3.0 的话主要使用 Annotation 来标记一个 Servlet,可以把 web.xml 省掉
tomcat修改端口号: tomcat安装目录下/conf/server.xml 修改 <Connector ...> 修改port的值后重启即可
在64位windows中使用32bit tomcat通常你会碰到这样一个错误 java.lang.UnsatisfiedLinkError: D:\Tomcat\apache-tomcat-7.0.37\bin\tcnative-1.dll: Can't load AMD 64 , 因为你用错版本了,换用64bit的就ok了.
修改myeclipse文件的编码规则
1.java 的编码规则修改路径
window-->preferences-->General-->workspace-->text file encodeing 选择other 里的utf-8 UTF-8
2.修改 jsp 、js 等文件 的编码规则
window -->preferences -->myeclipse-->files and Editors 选择jsp/javascript
3.修改单个文件
window->show view ->navigator ->在下拉列表里选中要修改的文件,点击鼠标右键->properties ->resource->面板右边 text file encoding 修改编码
4. Window->Preferences->General->Content Types中可以修改具体的不同格式的文件的默认编码 UTF-8 update! 参考:http://blog.sina.com.cn/s/blog_8999d1c60102wtfk.html
其它一些可能出现的乱码问题及解决
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
表单使用Post方式提交后接收到的乱码问题 这个问题也是一个常见的问题。这个乱码也是tomcat的内部编码格式iso8859-1在捣乱,也就是说post 提交时,如果没有设置提交的编码格式,则会以iso8859-1方式进行提交,接受的jsp却以utf-8的方式 接受。导致乱码。既然这样的原因,下面有几种解决方式,并比较。 A 接受参数时进行编码转换 String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8") ; 这样的话,每一个参数都必须这样进行转码。很麻烦。但确实可以拿到汉字。 B 在请求页面上开始处,执行请求的编码代码, request.setCharacterEncoding("UTF-8"),把提交内 容的字符集设为UTF-8。这样的话,接受此参数的页面就不必在转码了。直接使用 String str = request.getParameter("something");即可得到汉字参数。但每页都需要执行这句话。 这个方法也就对post提交的有效果,对于get提交和上传文件时的enctype="multipart/form-data"是无 效的。稍后下面单独对这个两个的乱码情况再进行说明。 C 为了避免每页都要写request.setCharacterEncoding("UTF-8"),建议使用过滤器对所有jsp 进行编码处理。这个网上有很多例子。请大家自己查阅。
表单get提交方式的乱码处理方式。 如果使用get方式提交中文,接受参数的页面也会出现乱码,这个乱码的原因也是tomcat的内部编码格 式iso8859-1导致。Tomcat会以get的缺省编码方式iso8859-1对汉字进行编码,编码后追加到url,导致 接受页面得到的参数为乱码/、。 解决办法: A 使用上例中的第一种方式,对接受到的字符进行解码,再转码。 B Get走的是url提交,而在进入url之前已经进行了iso8859-1的编码处理。要想影响这个编码则需要在 server.xml的Connector节点增加useBodyEncodingForURI="true" 属性配置,即可控制tomcat对get方式的汉字编码方式,上面这个属性控制get提交也是用 request.setCharacterEncoding("UTF-8")所设置的编码格式进行编码。所以自动编码为utf-8,接受页 面正常接受就可以了。但我认为真正的编码过程是,tomcat又要根据 <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" useBodyEncodingForURI="true" disableUploadTimeout="true" URIEncoding=”UTF-8”/> 里面所设置的URIEncoding=”UTF-8”再进行一次编码,但是由于已经编码为utf-8,再编码也不会有变 化了。如果是从url获取编码,接受页面则是根据URIEncoding=”UTF-8”来进行解码的。 上传文件时的乱码解决 上传文件时,form表单设置的都是enctype="multipart/form-data"。这种方式以流方式提交文件。 如果使用apach的上传组件,会发现有很多乱码想象。这是因为apach的先期commons-fileupload.jar有 bug,取出汉字后进行解码,因为这种方式提交,编码又自动使用的是tomcat缺省编码格式iso-8859-1 。但出现的乱码问题是: 句号,逗号,等特殊符号变成了乱码,汉字如果数量为奇数,则会出现乱码 ,偶数则解析正常。 解决方式: 下载commons-fileupload-1.1.1.jar 这个版本的jar已经解决了这些bug。 但是取出内容时仍然需要对取出的字符进行从iso8859-1到utf-8转码。已经能得到正常所有汉字以及字 符。 5 Java代码关于url请求,接受参数的乱码 url的编码格式,取决于上面所说的URIEncoding=”UTF-8”。 如果设定了这个编码格式,则意味着所 有到url的汉字参数,都必须进行编码才可以。否则得到的汉字参数值都是乱码,例如 一个链接 Response.sendDerect(“/a.jsp?name=张大维”);而在a.jsp里面直接使用 String name=request.getParameter("name")");得到的就是乱码。因为规定了必须是utf-8才可以,所以,这个转向应该这样写: Response.sendDerect(“/a.jsp?name=URLEncode.encode(“张大维”,”utf-8”);才可以。 如果不设置这个参数URIEncoding=”UTF-8”, 会怎么样呢? 不设置则就使用了缺省的编码格式 iso8859-1。问题又出来了,第一就是参数值的个数如果是奇数个数,则就可以正常解析,如果使偶数 个数,得到最后字符就是乱码。还有就是如果最后一个字符如果是英文,则就能正常解析,但中文的标 点符号仍出现乱码。权宜之计,如果您的参数中没有中文标点符号,则可以在参数值最后加一个英文符 号来解决乱码问题,得到参数后再去掉这个最后面的符号。也可以凑或使用。
其它一些问题:
如显示行号: window -->preference -->General-->Editor -->text editor
格式化代码 选中需要格式化的代码 右键source --> format
配置在保存时自动格式化window -->preference -->java-->editor-->save actions 选择format勾选perform selected actions on save
调整缩进 选中一块代码 tab 缩进方向:--> shift+tab 缩进方向: <--
默认缩进调整(2/4个空格):
1.对于java文件: Window -> Preferences -> Java -> Code Style -> Formatter 选中一个profile 然后show/edit
,在Indentation中有一个Tab size
2. 对于 jsp或其它文件
Window -> Preferences -> General -> Editors -> Text Editors,Displayed Tab Width 就是了
代码感应提示: alt+ /
生成getter setter 编辑代码时右键菜单source --> generate getters setters
中文字符的调整: window-->preference --> general--> appearance -->colors and fonts-->basic-->text font 然后edit 脚本下拉框改为中欧字符.