此处采用命令行的方式建表,因为后期要使用到Linux,现在不使用,后期会不习惯。
用户名:system as SYSDBA
密码:orcl
1.建表步骤:
(1).创建表空间:SQL> CREATE TABLESPACE ZCY DATAFILE 'D:\java\ZCY.DBF' SIZE 50M;
(2).创建用户和密码:SQL> CREATE USER ZCY IDENTIFIED BY ZCY DEFAULT TABLESPACE ZCY;
(3).设置权限: SQL> GRANT CONNECT,RESOURCE,DBA TO ZCY;
(4).导入建表语句:SQL> @文件路径/文件名.sql
(5).插入数据:SQL> @文件路径/文件名.sql
(6).创建Bean
2.项目搭建规范
(1).选择新的工作空间:除电脑C盘外的任意一个盘创建一个文件夹如:ZCYSpace,File - Switch WorkSpace - Other... - 找到刚创建的ZCYSpace文件夹,点击即可。
(2).将工作空间设置成UTF-8:Window - preferences - 搜encod - 找到workspace - Text file Encoding下的Other的UTF-8 - 点击Apply And Close。
(3).配置JDK:Window- > preferences - >Java 下的Installed JREs - >点击主界面的Add...- >选择Standard VM,点击next - >选择JRE home的Directory ... - >找到JDK的安装位置,点击确定,JRE name是自动补全的 - >点击Finish,- ->勾选刚创建的jdk配置-->点击Apply and Close
(4).配置Tomcat:Window - > preferences - > Serve下的Runtime Environment - > 点击主界面的Add... - > 选择Tomcat8.5 - > 点击next - >点击Browers选择Tomcat的安装路径 - >然后JRE下拉选择 (3) 步骤配置的JDK信息,点击Finish - >点击Apply and Close。(目前最新版本为tomcat9,所以我们使用tomcat8.5,下载链接:https://tomcat.apache.org/download-80.cgi)。
(5).配置Tomcat实例:Window - > show View- >Others... - > Server- >Services- >双击下方蓝色链接- >选择Tomcat v8.5 Server - >其他不变选择Finish,双击创建的Tomcat实例 - >下拉Server Locations- >选择Use Tomcat installation...- >Deploy path值修改成webapps - >下拉Timeouts - >设置start为200 - >保存。
(6).创建项目工程:右键 - >new...- >project... - >找到web- >选择Dynamic Web Project - >点击next- >输入project name如:zcy0327- >Dynamic web module version为3.1- > 点击next- >勾选Generate web.xml deployment descriptor- >点击Finish。
(7). 登录业务:
1.创建Bean类,注意:bean里面的属性全部设置成封装类或类类型,不要使用基本数据类型。
Long - > long,Integer- > int,Character- > char,Boolean- > boolean,Double - > double,Float - > float,Byte - > byte
Short- > short
2.将之前创建好的html拷贝到WebContent中
3.导入对应的jar,Oracle6和fastjson的包
4.创建dao,接口类的方法前不用public,因为接口类的方法默认public修饰。
查询的方法名以select开头,修改以update开头,删除以delete开头,添加以insert开头,统计以count开头作为方法名。
5.创建配置文件以及工厂对象
6.创建servlet以及对应的web.xml注册
7.创建ajax提交
8.测试
问题:
1.企业的项目地址栏不会出现.html或者.jsp,什么原因?
2.在地址栏输入:http://localhost:8080/zcy0327/main.html也能跳转到主界面,不安全性。
解决方案:1.创建一个Servlet,专门用来页面跳转使用,2.重写doGet方法,3.在doGet中获取
String page = req.getParameter("page");
HttpSession session = req.getSession();
AdminInfo admin = (AdminInfo) session.getAttribute("admin");
if(page == null || admin == null) {
req.getRequestDispatcher("login.html").forward(req, resp);;
return;
}
if(page != null && admin != null){
req.getRequestDispatcher(page + ".html").forward(req, resp);
return;
}
4.注册该servlet
<servlet>
<servlet-name>page</servlet-name>
<servlet-class>servlet.PageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>page</servlet-name>
<url-pattern>/page</url-pattern>
</servlet-mapping>
5.访问:所有页面访问都访问这个page的url
6.问题:在页面上还是可以在地址栏输入html文件访问,怎么解决呢?
将html文件移动到WEB-INF文件夹下,这样就访问不到了,相当于封装,并且在页面跳转的servlet中写上:
String page = req.getParameter("page");
HttpSession session = req.getSession();
AdminInfo admin = (AdminInfo) session.getAttribute("admin");
if(page == null || admin == null) {
req.getRequestDispatcher("WEB-INF/login.html").forward(req, resp);;
return;
}
if(page != null && admin != null){
req.getRequestDispatcher("WEB-INF/" + page + ".html").forward(req, resp);
return;
}
7.为了让其他同事知道这个url的用途访问servlet的,我们会在url后面加一个别名如:.zcy。