2019-06-12

前端发送请求的方式

form表单action 

form表单提交方式 get post

get提交显示url显示(显示参数值,参数名)不安全

post提交显示url不显示(显示参数值,参数名),安全

action="页面地址/servlet"

a标签传递参数用?name=value,多个参数用&隔开

servlet接收参数

String name=request.getParamenter("name");

接收多个参数

. String[] getParameterValues(String name):根据参数名称获取参数值的数组  hobby=xx&hobby=game

String[] hobbies= request.getParameterValues("hobby");

for (String hobby:hobbies){

    System.out.println(hobby);

}

调用service完成请求的处理

service  层

service接口 对象名=new service实现类();

对象名.方法名([参数]);实现业务处理

创建service接口

public interface ServiceUser{

抽象方法;

[public static] 返回值类型 方法名([参数...]);

public List test(Sting name);

}

service实现类

public void ServiceImpl implements ServiceUser{

@Override

public c Listtest(Sting name)

获取数据,处理数据

UserDao uo=new UserDaoImpl();

Result rs=uo.query();

if(rs!=null){

while(rs.next){

返回值类型  属性名=rs.get数据类型("列名");

String name=rs.getString("name");

int id=rs.getInt("id");

Date createDate = rs.getTimestamp("createDate");

。。。。

User u=new User();

u.setName(name);

u.setId(id);

u.setCreatedata(createDate);

}

}

}

}

dao

public interface UserDao{

public Result query();

}

public implement UserDaoImpl extends DataBase{

public Result query(){


String sql="select*from user";

Result rs=DataBasequery(sql);

return rs;

}

}

DataBase类

public void DataBasequery(String sql){

导入jar包

加载驱动

Class.forName("com.mysql.jdbc.Driver");

连接数据库

Connection conn=DrivateManage.getConnection("jdbc:mysql://location:3306/数据库名","root","root");


获取sql处理对象

Statement stmt=conn.createStatement();

执行sql

Result rs=stmt.executeQuery(sql);

return rs;

}



Serlvet

重定向

response.senRedirect("/login.jsp");

地址栏改变

请求两次


转发

request.getRequestDispatcher("login.jsp").forward(request,response);

地址栏不改变

请求一次

前台往后台传值

request.setAttribute("he","hello");

导入jstl.jar standard.jar

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

${he}

${news.id}

${news.name}

你可能感兴趣的:(2019-06-12)