原生Web开发实现总结

原生Web
main
pojo 实体类 User
dao 实体数据库操作类
数据库公共类 BaseDao
数据库配置、连接、获得sql执行器statement执行sql的通用方法
实体数据库操作接口层 UserDao
实体数据库操作接口实现类 UserDaoImpl
sql执行,CRUD
service 业务层
实体业务接口 UserService
实体业务接口实现类 UserServiceImpl
调用dao层接口 功能的具体实现,资源关闭

		一个路径一个servlet
			实现HtttpServlet接口
				doGET/doPost 
					HttpServletRequest 请求
						获得前端传递的数据
							String getParameter()
                         String[] getParameterValue()
						请求转发
							req.sendRedirect("/r/imageServlet");
					HttpServeltResponse 响应
						应用1.向浏览器输出消息
							  getOutPutStream() //写文件
   getWrite()  //写汉字
						应用2.下载文件
						应用3.验证码功能
						应用4.实现重定向
							 resp.sendRedirect("/r/imageServlet");
		ServeltContext
			ServletContext  上下文 (中间件) 可以保存一些东西,web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的Web应用
				共享数据
					 servletContext.setAttribute("username",username);//将一个数据保存在ServletContext中,名字为username
						String username = (String)servletContext.getAttribute("username");
				请求转发 RequestDispatch
					servletContext.getRequestDispatcher("/gp").forword(request,response);//转发的请求路径
				读取资源文件
					InputStream is = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");
    Properties prop = new Properties();
    prop.load(is);
		session 服务器技术/cookie客户端技术 保存会话
			session
				 HttpSession session = req.getSession(); //得到session
    String name = (String)session.getAttribute("name");//给session中存东西
    resp.getWriter().write(name);
    session.removeAttribute("name");//手动注销Session
    session.invalidate();
			cookie

Cookie cookie = new Cookie(“lastLogin”, System.currentTimeMillis()+"");//新建一个Cookie
cookie.setMaxAge(246060); //设置cookie有效期
resp.addCookie(cookie);//响应一个cookie给客户端
`Cookie[] cookies = req.getCookies() //获得cookie
cookie.getName();//获得cookie中的key
cookie.getValue(); //获得cookie中的value
Filter 过滤器
过滤网站数据:处理中文乱码,用户身份验证,权限管理
实现Filter接口
public void init(FilterConfig filterConfig) 初始化
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 过滤特定的请求
Chain链
// 1.过滤中的所有代码,在过滤特定请求的时候都会执行
//2.必须要让过滤器继续通行
chain.doFilter(request,response);//让我们的请求继续走,若不写 程序就会被拦截停止
public void destroy() 销毁 Web服务器关闭才被销毁
Listener 监听器
每个事件都有监听
resources静态资源
db.properties 数据库配置文件
会出现的问题:读取配置文件失败,资源过滤问题
webapp
web.xml 核心配置文件
注册配置 servlet、filter、欢迎页、session设置监听器
子主题 1

filter
com.zxw.filter.CharacterEncodingFilter


filter

    <url-pattern>/servlet/*</url-pattern>
</filter-mapping>
数据库JDBC
	1.加载数据库驱动 driver
		Class.forName();
	2.数据库用户信息和URL
		jdbc:mysql://8.140.108.61:3306/ipark?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
	3.连接数据库,获得数据库对象
		Connection connection = DriverManage.getConnection(URL,username,password);
	4.获得执行sql的对象
		Statement statement = connection.createStatement;存在SQL注入
		PreparedStatement 预编译sql执行器
	5.编写sql,执行sql
		execute()/executeQuery(sql);
	6.释放连接
		result.close();/statement.close();/connection.close();
数据库连接池 解决系统资源浪费问题
	数据源实现 不需要自己编写连接数据库的代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值