HTML、css、JavaScript构建的基础页面属于静态页面,即所有用户的访问结果相同。servlet、JSP、PHP等构建的页面都属于动态资源,动态资源将在客户端通过不同的静态资源进行展示。
存在路径:…tomcat/lib/servlet-api.jar
由tomcat服务器提供可继承类,运行在Java服务端的小程序。**首次请求时创建,服务器关闭时销毁,生命周期由服务器控制。**通常用作控制层的数据接收,数据转发,与页面请求。
获取客户端请求,响应动态资源,向客户端发送数据或重定向服务器请求路径。
新建类;
继承HttpServlet类;
重写protected void service(HttpServletRequest req,HttpServletResponse resp)方法;
@WebServlet("/student")
public class StudentServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
}
存在路径:…tomcat/lib/jsp-api.jar
由tomcat服务器提供,可以使用java+前端技术开发静态资源的技术。
<% java代码 %>作为jsp脚本而存在。
<%=request.getContextPath() %>…
由sun公司开发的用来将Java App连接到数据库的一套接口标准。具体的操作类由具体的数据库jar包来实现。
加载驱动
Class.forName(“…Driver”);
获得数据库连接对象
Connection connection = DriverManager.getConnection(url,username,password);
发送sql语句
PreparedStatement preparedStatement = conn.prepareStatement(“select * from tableName”);
执行sql语句
ResultSet resultSet = pst.executeQuery();
int n = pst.executeUpdate();
语法
PreparedStatement可以使用预编译的sql再发送其他参数,Statement只能发送一次静态sql。
效率
PreparedStatement使用了sql缓冲区,可以重复使用,Statement是其父类,没有相关概念引入。
安全
PreparedStatement有效防止sql注入。
(1)采用URL请求路径传参,遇到form表单时路径参数失效。
(2)参数显示在地址栏,隐私性较差。
(3)路径数量有限。
(4)所有请求的默认方式
(5)默认解决中文乱码
(1)实体内容传参,form数据和路径数据分别被包装成实体。
(2)参数仅显示在network请求详情页面。
(3)实体中的数据量无限制。
(4)需要指定请求method为post才是使用。
(5)解决中文乱码需要request.setCharacterEncoding(“UTF-8”);
response.setContextType(“text/html;charset=utf-8”);
由模型(model)、视图(view)和控制器(controller)搭建平台的软件设计规范。
模型负责对数据库的查询信息和事务设计的修改信息进行统一建模,并在满足javaBean的基础上构建实体类。
视图负责接收控制器的数据,并将数据渲染在客户端,同时处理一些简单的页面响应。
控制器负责接收数据,调用接口处理数据,转发数据以及让**浏览器重新向控制器发送请求(重定向)**等具体复杂的业务流程。
将控制层的业务逻辑转移到service层,将service层的数据库操作转移到dao层,并通过接口调用实现逻辑调用。
controller:接收数据,调用接口处理数据,转发数据以及让浏览器重新向控制器发送请求(重定向)。
service:处理业务基本流程,可多次调用dao层的方法实现业务逻辑。
dao:负责单一的数据库的添删改查。