1.省市级联(略)
2.集成框架
frameset
rows 指明 垂直 分几块 rows="10%,*,10%"
rows="200,*"
cols 指明 水平 分几块 cols="150,*"
frame 去关联 页面
<frameset rows="150,*" frameborder="no">
<frame src="top.jsp">
<frameset cols="200,*">
<frame src="left.jsp" noresize="noresize" scrolling="no">
<frame src="welcome.jsp" name="main">
</frameset>
</frameset>
页面结构
教师维护
添加教师
查询教师
课程维护
添加课程
查询课程
3.图片展示的特效
a)同修改控件的marginLeft 实现控件移动
页面相关的
1.html常用的控件
a)每一个表单控件 必须提供 id 和name属性
如果该控件的值 不需要保存在数据库中 那么 name属性必须省略
提交数据的格式
控件名=值
如果该控件的值必须存放在数据库中,那么 其name 属性的值 必须与
对应表中的列名相同
b)其他控件特别是 div 必须提供 id 属性的值
2.JavaScript:
a)数据校验
b)动态设置样式
掌握
i)函数的创建
function 名()
{
}
创建一个函数类型的变量
var 名=function(){
};
ii)操作页面中的控件(element)
document.getElementById(id) :获取指定id对应的一个控件
document.getElementsByName(name) :获取指定名称的所有控件
用户操作 复选框
document.getElementsByTagName(name):根据标签名称获取所有标签
iii)操作控件常用的属性:
表单控件特有
value 属性
非表单控件特有
innerHTML
共有
className
style.样式名 :把中划线去掉,后的第一个字母大写
css样式中
background-color:red;
javascript
style.backgroundColor="red";
iv)数据校验 使用正则表达式验证
a)及时验证
b)提交表单验证
3.css样式表:
样式的属性
a)选择器
b)选择器的组合
选择器 选择器{
}
选择器,选择器{
}
选择器>选择器{
}
选择器[属性='值']{
}
====================================
1.Servlet是所有web框架的核心(struts,spring mvc,jfinal,jsf)
a)作用:
i)获取客户端请求的数据
ii)能在servlet中创建java类的对象 并调用其方法获取返回值
iii)能够跳转到需要的页面
b)记住结构
1)处理中文 处理以post方式提交的请求
request.setCharacterEncoding("UTF-8");
2)获取客户提交的数据
//String value=request.getParameter("");
//把控件名和值组装为一个 Map 集合
Map<String,String[]> params=request.getParamterMap();
//自己编码把 数组的map转换为String map即可
Map<String,String> map=ConverteUtil.convertMap(params);
3)创建java 类的对象 并调用方法获取其返回值
StuInfoService service=new StuInfoService();
boolean flag=service.doSave(map);
4)获取Session 把一些数据传递给jsp页面
HttpSession session=request.getSession();
session.setAttribute("key",value);
5)页面跳转
response.sendRedirect("error.jsp");
c)servlet 概念:
一个运行在服务器端,用于处理用户请求并响应的java类
CGI
不管有多少请求,大家使用的是同一个servlet对象
避免使用全局变量
d)servlet的结构
@WebServlet("/IndexServlet")
public class IndexServlet extends HttpServlet{
public void doGet(){
}
public void doPost(){
}
}
e)记住serlvet的访问配置:
在servlet 的类上面 添加
@WebServlet("/url")
f)servlet的命名:
页面名功能名Servlet
reg.jsp ---- RegServlet
showTeas.jsp
删除 ----TeasDeleteServlet
修改操作 ----TeasEditServlet
maven
Servlet1
Servlet2
MyBatis jdbc
完整项目:
package com.neu.dao;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class GenerateSQLDao {
private String tableName;
public GenerateSQLDao(String tableName){
this.tableName=tableName;
}
public final int insert(Map<String,String> map){
int row=0;
String sql="insert into "+tableName+"(";
String cols="";
String values="";
List<String> param=new ArrayList<String>();
if(map==null){
throw new RuntimeException("插入数据有误");
}
for(Map.Entry<String, String> entry:map.entrySet()){
cols+=","+entry.getKey();
values+=",?";
param.add(entry.getValue());
}
sql+=cols.substring(1)+") values(";
sql+=values.substring(1)+")";
System.out.println(sql);
//操作数据
return row;
}
}
package com.neu.dao;
public class TeaInfoDao extends GenerateSQLDao{
public TeaInfoDao() {
super("tea_info");
}
}
package com.neu.service;
import java.util.Map;
import com.neu.dao.TeaInfoDao;
import com.neu.util.ConvertUtil;
public class TeaInfoService {
private TeaInfoDao teaInfoDao;
public TeaInfoService(){
this.teaInfoDao=new TeaInfoDao();
}
public boolean doReg(Map<String, String[]> params){
boolean flag=false;
Map<String,String> map=ConvertUtil.converterMap(params);
try {
int row=teaInfoDao.insert(map);
if(row>0){
flag=true;
}
} catch (Exception e) {
//记录日志 log4j
}
return flag;
}
}
package com.neu.servlet;
import java.io.IOException;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.neu.service.TeaInfoService;
/**
* RegServlet
*/
@WebServlet("/RegServlet")
public class RegServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public RegServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
//
Map<String, String[]> params=
request.getParameterMap();
TeaInfoService service=new TeaInfoService();
boolean flag=service.doReg(params);
if(flag){
response.sendRedirect("success.jsp");
}else{
response.sendRedirect("error.jsp");
}
}
}
package com.neu.util;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class ConvertUtil {
public static Map<String, String> converterMap(Map<String,String[]> params){
Map<String, String> map=null;
if(null != params && params.size()>0){
map=new HashMap<String, String>();
for(Map.Entry<String,String[]> entry:params.entrySet()){
String key=entry.getKey();
String[] values=entry.getValue();
String value="";
if(null != values && values.length>0){
// String temp=Arrays.toString(values);//
// temp=temp.replace("[", "").replace("]", "")
// .replace(" ", "");
for(String str:values){
value+=","+str;
}
value=value.substring(1);
}
map.put(key, value);
}
}
return map;
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="RegServlet" method="post">
用户名:<input type="text" name="u_name" id="u_name"><br>
密码:<input type="password" name="u_pwd" id="u_pwd"><br>
爱好:<input type="checkbox" name="u_like" value="游泳">游泳
<input type="checkbox" name="u_like" value="篮球">篮球
<input type="checkbox" name="u_like" value="健身">健身
<input type="checkbox" name="u_like" value="广场舞">广场舞<br>
电话:<input type="text" name="u_tel"><br>
<button type="submit">提交</button>
</form>
</body>
</html>