MVC
1 M-->model 模型层(就是javabean要求在entity dto等,要求字段属性名和表中的字段名及表单的字段名要一致)
2 V-->view 视图层(html静态页、jsp动态页、servlet)
3 C-->Controller 控制层(servlet)
作用:各司其职,擅长的人做擅长的事
mvc开发案例
步骤
1、创建web工程
2、创建javabean
public class Student {
private int id;
private String name;
private String password;
//所有javabean要求:1、都要有set get方法 2 、全参、少id、无参的构造方法
3、创建表要求字段名和javabean中一致
CREATE TABLE stu
(
id NUMBER PRIMARY KEY,
name VARCHAR2(20),
password VARCHAR2(20)
)
CREATE sequence stu_seq START WITH 2 //创建序列
4、开发接口--》dao (要加入数据库对应的jar文件)
public interface StudentDao {
public void saveStudent(Student stu);// 添加
public void delStudent(int id);// 删除
public void updateStudent(Student stu);// 修改
public List<Student> list();//查询所有
public Student getStudent(int id);//按id查询出对应的学生
}
5、实现接口(开发中一般 继承 BaseDao 实现 对应接口)
public class StudentDaoImpl extends BaseDao implements StudentDao {
.....}
6、开发控制层--->servlet
补充
一、eclipse和myeclipse区别
eclipse是免费使用建议交8$,myeclipse是收费的,好处是好多配置都做好了
二、可变参数
public class T {
public int sum(int ...a){
int sum=0;
for(int i=0;i<a.length;i++){
sum+=a[i];
}
return sum;
}
public static void main(String[] args) {
T t=new T();
System.out.println(t.sum(3, 5));
}
}
三、get和post区别
1 Post的安全性要比Get高--->对应doPost()
2 GET提交的数据比较少,因为GET数据是附在URL之后的,get执行效率高
-->对应doGet()
四、jsp/servlet乱码解决
1、<% @ page contentType = " text/html;charset=utf-8 " %>
2、response.setCharacterEncoding("utf-8");//响应编码类型
response.setContentType("text/html;charset=utf-8");//设置文档类型
request.setCharacterEncoding("utf-8");//请求编码类型
3、new String(request.getParameter("name").getBytes("ISO8859_1"),"utf-8");
4、 修改tomcat的server.xml
5、过滤器 配置web.xml <filter-name></filter-name>Set Character Encoding <filter-class></filter-class>SetCharacterEncodingFilter
<filter-mapping></filter-mapping>
<filter-name></filter-name>Set Character Encoding
<url-pattern>/*</url-pattern>
EL即Expression Language(表达式语言)
1、 目的:为了使JSP写起来更加简单,只能在jsp
2、等价关系
(1)<%=uu.getId()%> --->${uu.id}即对象名.方法名和后面的确对象名.属性对应
(2)、<%=表达式%> --->${表达式}
即原来的<%=request.getAttribute("stu")%>或
<%=session.getAttribute("stu")%>等价于 ${stu}
jstl(JSP Standard Tag Library) 标准标签库
1、使用前要导入
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
2、<c:forEach var="uu" items="${list}">
注:items后接的是el表达式-->集合
注:el和jstl 只能在jsp页面中使用,不能在html或servlet中用