java web应用开发简单梳理(mybatisl+springMvc+tomcat)
前言:项目开发语言要转java,现将相关的java web知识整理下,以便日后翻阅,有兴趣的童鞋可能对其进行扩充一、java web开发技术:
[*]jsp与servlet;
[*]tomcat与jetty服务器;
[*]Spring与Struts2与Hibernate与Mybatis;
[*]数据库技术Mysql与Oracle;
[*]设计模式与设计方法论(单列、代理等);
[*]优化、缓存、检索
二、java开发工具:
[*]JDK 1.7(含jre 最好用1.8版本,1.8以下不支持lamda表达式);
[*]Tomcat 8.0;
[*]eclipse 4.3.0;
[*]Mysql 5.5.6;
[*]Navicat for Mysql 10.1.7、 Sqlyog
[*]Maven
三、java web开发模式:
[*] model1:传统的页面嵌入式,具有很高的耦合性;
[*] model2:MVC形式的开发,代码与视图完全分离;
[*] 面向接口:基于API形式的调用,大大的提高了代码的复用性。
四、SpringMVC框架:
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-5-13%2013%3A41%3A17.png?version=1&modificationDate=1463118048000&api=v2
涉及三要素:core、beans、context
搭建基础项目框架相关Jre包:
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-5-13%2013%3A42%3A47.png?version=1&modificationDate=1463118138000&api=v2
扩展知识:
JDBC驱动:
* 1.加载JDBC驱动程序(java.lang.Class forName())
* 2.提供连接JDBC的url(数据库地址(协议:子协议:数据源标识))
* 3.创建数据库连接(java.sql.DriverManager getConnection())
* 4.创建一个Statement(java.sql.Statement)
* 静态sql:Statement 动态sql:PreparedStatement 存储过程:CallableStatement
* 5.执行sql语句(executeQurey、executeUpdate、execute)
* 6.处理结果
* 7.关闭JDBC对象
* 8.关闭记录集、关闭声明、关闭连接对象
Spring注解关键词说明:
@Service用于标注业务层组件
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件
@RequestMapping将所有的请求地址作为父级地址进行访问( @RequestMapping(params = "method=") )
@Autowired添加此注解,可以取消get() set()设置
@ModelValue绑定参数到命令对象;
Mvean下自动下载Spring和Mybatis相关Jra包的配置(pom.xml):
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-5-13%2013%3A50%3A50.png?version=1&modificationDate=1463118620000&api=v2
五、java开发环境和运行环境(具体步骤可以参考相关的wiki,地址:)):
1.安装.配置环境变量.安装JDK、JRE.JVM虚拟机http://www.cnblogs.com/ottox/p/3313540.html2.java三大框架:struts:基于MVC的充当了其中的试图层和控制器spring: 采用了控制反转和依赖注入的技术,管理Bean,降低了各层之间的耦合.hibernate:做持久化的,对JDBC轻量级的封装,使得我们能过面向对象的操作数据库(与mybatis类似)3.java三大级别:javase:标准版javaee:企业版javame:微软技术版4.扩展工具:1.Tomcat:服务器2.Maven:项目管理工具3.Mybatis:
4.servlet、jsp
访问Mysql数据:库:http://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html
esclisp.ini 调优:http://blog.csdn.net/angle_birds/article/details/19609011 友情提示:JDK指的是java的开发环境,用来编译.class文件;
JRE指的是java的运行环境,提供了java运行所需jvm;
JVM指的是虚拟器,附着于JRE中。
六.java web发布测试版本
众所周知,.NET发布版本需要先将.CS文件生成为可执行文件.dll,然后利用FTP或FTPS将bin和view文件传输到服务器的站点容器下得以访问,但是java的开发工具Esclispe没有提供生成命令,
JDK的编译是在修改完成代码后自动执行的,具体过程可以网上找JVM虚拟机相关的资料,这里不再简述。而且也不会自动生成dll文件,总不能将.CS代码提交到服务器吧(代码安全),所以我们需要将
项目中的jir包和view代码导出称war包(导包 压缩包),然后利用ftp工具提交到对应站点服务器并覆盖上一次的war包,这种方式需要提前做好服务器war包备份。
将web工程发布到Tomcat服务器:选择Servers控制台-->选择Tomcat版本-->NEXT将需要部署的项目Add到右侧-->点击Finish即可(有时需要手动Clean,之后就可以用电脑的IP进行页面访问了)
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-6-17%2017%3A9%3A17.png?version=1&modificationDate=1466154558000&api=v2
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-6-17%2017%3A9%3A49.png?version=1&modificationDate=1466154590000&api=v2
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-6-17%2017%3A10%3A28.png?version=1&modificationDate=1466154629000&api=v2
导包 实现方式:右键需要导包的java web项目-->点击Export–>选择导出类型Web/WAR file-->选择要导出的位置(tomcat下的webapp路径)-->点击Finish即可
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-6-17%2017%3A5%3A28.png?version=1&modificationDate=1466154328000&api=v2
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-6-17%2017%3A13%3A24.png?version=1&modificationDate=1466154805000&api=v2
导出Jar包:
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-6-17%2017%3A47%3A8.png?version=1&modificationDate=1466156828000&api=v2
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-6-17%2017%3A16%3A28.png?version=1&modificationDate=1466154988000&api=v2
在tomcat的conf文件夹里的server.xml进行配置:
在<Host></Host>标签之间添加如下代码:
<Context path="/" docBase="F:/tomcat/webapps" debug="0" reloadable="true" crossContext="true"> </Context>
启动tomcat。双击tomcat解压文件里bin目录下的startup.bat
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-6-17%2017%3A28%3A57.png?version=1&modificationDate=1466155738000&api=v2
最后还可以登录tomcat后端,上传war包,tomcat会自动部署你的项目,建议数据库和服务器分开。
持续集成部署并发布java web项目请参考赵海龙的博客:二、Jenkins持续集成环境搭建之创建java项目的job
七.JSP页面文字显示乱码问题的解决办法(保持JSP、Mysql、Maven项目三者编码一致即可):
JSP
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-6-17%2017%3A42%3A20.png?version=1&modificationDate=1466156540000&api=v2
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-6-17%2017%3A43%3A19.png?version=1&modificationDate=1466156599000&api=v2
Mysql
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-6-17%2017%3A45%3A24.png?version=1&modificationDate=1466156724000&api=v2
Maven
http://wiki.zhtxw.cn/download/attachments/2757317/image2016-6-17%2017%3A49%3A3.png?version=1&modificationDate=1466156944000&api=v2
页:
[1]