C/S 应用程序 例如 jsp,php,c,c++,java
B/S 网页开发 例如 html,css,js
<input >
<form action="地址">
<input type="" name="name1" value="value1">
</form>
常用type:
1.text 文本框
2.submit 提交表单
3.botton 按钮,通常是配合js使用
4.hidden 隐藏的
5.password 密码框
6.radio 单选
7.check 多选
目录结构:
工程目录:一定在tomcat的主目录下的webapps下
WEB-INF:一定要在工程目录下(必须为工程目录的子目录)
WEB-INF子目录结构:
1.src 资源位置(通常放java文件和xml文件)
2.classes 编译后的文件位置
3.lib 存放库文件(通常为jar文件)
tomcat在浏览器下的输入
http://localhost:8080/工程目录/文件
在命令中启动tomcat
net start tomcat(服务名称)
关闭
net stop tomcat
jsp的一些标准语法
<% 通常填写java的脚本语句
...
...
%>
<%! %> 全局声明 与java中的static类似也和全局变量类似,
声明之后,只要网页没有关闭,变量一直存在
<%= %> 相当于java中的 System.out.print();
必须为表达式
可以写成<% out.println();%> 一样的效果
<%@ %> 通常用来声明包含头
<%@page contentType="Text/html;charset=uft-8">
默认语言为java
language="java"
pageEncoding="uft-8" 声明字符集
@page
1.language 声明语言
2.contentType 相当于声明网页的mate标签内容以及声明字符集
相当于>>> <meta charset="UTF-8">
3.pageEncoding 声明网页的字符集
4.import 包含头文件
@include 引用文件
1.file="文件名"
html 注释
<!-- -->
jsp 注释
<%-- --%>
jsp标记元素
forward 用来将目标文件的东西引入当当前页面,会覆盖
当前页面的内容
<jsp:forward page="路径">
通常配合param标签使用
param 用来传递参数
include 这个只是单纯将指定路径下的网页内容移动到当前网页
没有覆盖操作
相当于无参的一个函数的写法
通常用来拼装网页(结构化网页设计)
数据的传递
<form>标签有两种传递模式
method 用来设置传递模式
1.post 相当于后台传递,不能看见
2.get 在地址栏中传递,用户可以看见
通常是编程初期使用,不安全,用于练手
也可以用来检测是否传值正确
地址栏中传值的语法
www.baidu.com?username=admin&password=123
这样做不安全
获取上一个网页传递的值(get或post)
request.getParameter("name1");(返回值是String类型)
设置java脚本的字符集
request.setCharacterEncoding("utf-8");
字符集
1.ascll
2.ISO8859-1
3.GB2312
4.GBK
5.unicode (utf-8属于这个里面)
在mysql中,默认字符集为latin1
在创建mysql表单的时候,要在语句后面加上
create table name(
id varchar(11)
)engine=innodb default charset=utf8;
防止不可输入中文
session对象的使用(用于服务后端传值,非地址栏传值,不可见)
该对象是会话级别,只有关闭网页后才会销毁,否则一直存在
相当于全局变量
通常使用的方法函数:
1.getAttribute("name"); 获取对应名称的值
2.setAttribute("name","value"); 名字+对应的值
response 页面重定向
方法函数:
1.sendRedirect("路径"); 相当于form表单的action
2.setHeader("refresh","5;URL=页面路径"); 相当于from表单的action,可以加上定时
Integer转换为String
Integer a = 2;
String str = a.toString();
字符串转换为数字 字符串内容必须为数字,否则会报错
String str = "10";
Integer it = Integer.valueOf(str);
java的函数传值,有些时候要求是Integer类型,就绝对不能穿String类型,反之一样
jsp的作用域
1.application 作用范围是整个应用(浏览器)
2.session 当前页面(只要页面不关闭,都存在)
3.request 当前请求
4.page 当前网页
数据库的链接步骤
1.导入JDBC的API
1) <%@page import="java.sql.*"%>
在WEB-INF中的lib文件夹下一定要有连接器才能导入该包
2) String sConnstr="jdbc:mysql://localhost:3306/数据库名字" (localhsot处填入ip地址也可以)
如果数据传入msyql中,出现中文乱码,在这句话后面加上
?characterEncoding=utf8" 即可
如:jdbc:mysql://localhost:3306/test?characterEncoding=utf8
3)导入链接设备
com.mysql.jdbc.Driver
2.装载数据库驱动程序
Class.forName(数据库的映射路径); // com.mysql.jdbc.Driver
3.建立链接
Connection conn=DriverManager.getConnection(sConnstr,mysql账号,密码); 建立链接
4.创建一个调用mysql语句的一个对象(Statement)
Statement stmt=conn.createStatement();
5.执行sql语句(通常使用String 去写一个sql语句)
1.select 查找
select 列名 from 表单名字 where id=1; (where 相当于java的if)
order by 列名 desc(从大到小) limit 5 (取前五个)(用来排序,写在表单名字后面)
limit 2,5
2.update 更新(修改)
updata 表单名字 set 列名 = 值
3.delete 删除
4.insert into 增加
1)insert into news values(123,123,142,4124); 默认形式
2)insert into news(title,acnumber) values('我是温馨',1000); 指定添加形式
stmt.executeQuery(sql); 只用select上,返回值是一个结果集(ResultSet类型)
例如ResultSet rs=stmt.executeQuery(sql);
rs.next();指向下一个集合,如果没有,返回false,有返回true
stmt.executeUpdate(sql); 用在修改,删除,增加 ,成功返回值是一个大于0的数字,失败返回0
6.处理结果
rs.getInt("id"); 处理int类型,返回值是Integer
rs.getString("title"); 处理varchar,text类型,返回值是String
7.关闭数据库
conn.close();
<jsp:useBean id="commentDAO" class="news.beans.CommentDAO" scope="page" />
id:变量名字
class:类名字
scope:声明周期
1.application 作用范围是整个应用(浏览器)
2.session 当前页面(只要页面不关闭,都存在)
3.request 当前请求
4.page 当前网页
<jsp:setProperty name="comment" property="*"/>
传过来的值的名字要和对应的类名字相匹配(自动匹配)
name:javaBean对象的名字
property:填写对象的参数,用*号代表所有
<jsp:getProperty name="news" property="username"/>
将news对象的username属性值获取出来
相当于<%=news.getUsername()%>