引言
初学java web 时的过程记录、重要知识积累以及经验总结。
本次为web入门和完成网页注册功能的阶段。
使用IDEA创建Java-web工程快速入门
初次使用的一些实用设置
1、设置字体大小:登录界面的Configure【配置】—— Settings——Editor——Font
2、设置背景颜色:登录界面的Configure【配置】—— Settings——Editor——Color Scheme——General——Default【默认】
3、设置打开IDEA时的默认操作:登录界面的Configure【配置】—— Settings——Appearance&Behavior——System Settings
创建工程具体步骤
1、Create New Project
点击方框操作;
2、给工程命名,注意选择路径时最好直接创建在盘根目录下;
3、配置Tomcat服务器
运行下拉框——> Edit Configuration【编辑配置】 ——>先点击右上角的绿色加号——> 在左侧选择Tomcat Sever——> Local
redeploy【重新部署】
4、添加第三方依赖
1)先在WEB-INF文件夹下创建“lib”的文件夹(选择Directory),将自己需要的jar包添加到这个文件夹中(形成工程内部lib,而不用external);
2)再打开 Project Structure,部署这些包:
3)首先是点击左侧的Libraries,点击+,选择JAVA将之前加入“lib"的包导入,再将一些需要的external包导入,APPLY;
4)再选择左侧的Module, 在Dependencies勾选之前导入的jar包,APPLY;(还可以直接在Dependencies页面中点击右侧的绿色加号,选下拉框的第一个选项,手动添加jar包或者文件进入module)。
5、#配置输出文件夹“classes”
在idea中如果不修改class文件的输出路径的话,会默认在工程下创建一个“out文件夹”用来装编译的class文件[或者说是用来存放src目录下的文件(包括配置文件,只要在src目录下就会被加载到out里面)]。修不修改默认输出路径都可以,但修改编译文件的输出路径为WEB-INF下的classes似乎更规范?
下面提供修改方法的链接:
idea架构简述及输出文件配置.
5、#检查工程结构左侧的 Artifacts和Facets
Artifacts【人工品;artifact是一个项目资源的组合体。例如,一个已编译的java类的集合,一个已打包的java应用。】
和Facets【面;Facets表述了在Module中使用的各种各样的框架、技术和语言,这些Facets让IDEA知道怎么对待module内容,并保证与相应的框架和语言保持一致。】
下面提供 有关IDEA里Facets和Artifacts的讲解 的链接:
IDEA里Facets和Artifacts的讲解.
【注:能力有限,#号部分为不知是否必要的操作】
入门Java-web工程(含数据库)的框架结构
首先简要回顾JAVA中的interface和implement:
Interface(接口)
1、概念:
接口与类属于同一层次,实际上,接口是一种特殊的抽象类。
2、属性:
(1)一个接口中,所有方法为公开、抽象方法;所有的属性都是公开、静态、常量。
(2)一个类实现一个接口的格式: class IM implements IA{ }; 一个类实现接口,相当于它继承一个抽象类。
(3) 类必须实现接口中的方法,否则其为一抽象类。 实现中接口和类相同。
3、基础使用方法:
(1)接口中可不写public,但在子类中实现接口的过程中public不可省。
(2)一个类只能继承另外一个类,但是它可以继承多个接口,中间用“,”隔开。
(3)接口和接口之间可以定义继承关系,并且接口之间允许实现多继承。
(4)一个接口也可以“接”多个实现类,中间依旧是用“,”隔开
4、作用:
通过接口可以实现不同层次、不同体系对象的共同属性; 通过接口实现write once as anywhere.。( 以JAVA数据库连接为例子:JDBC制定标准;数据厂商实现标准;用户使用标准。)接口通常用来屏蔽底层的差异。 接口也因为上述原因被用来保持架构的稳定性。
接口详解.
接口类示例:
public interface Userdao {
/***
* 用户登陆的方法声明
* @param user
* @return
*/
public User login(User user);
/***
* 用户注册的方法声明
* @param user
* @return
*/
public boolean register(User user);
}
Implement
在java中implement是为了实现某个接口。
例如:
public class impleuser implements Userdao{
@Override
public User login(User user) {
return null;
}
PreparedStatement pst = (PreparedStatement) conn.prepareStatement
("insert into register values(?,?,?,?,?);");//?为占位符
pst.setString(1, user.getUsername());//占位符索引从1开始!
pst.setString(2, user.getSex());
pst.setString(3, user.getPassword())