关于JavaWeb图书商城答辩问题总结

1.如何解决sql注入问题

sql注入一般发生在我们的登录模块,在java中,我们使用PreparedStatement实现处理sql语句,因此不会发生sql注入问题

select * from user where username =and password=?  由于用的是PreparedStatement实现处理sql语句,所以不会产生sql注入
select * from user where name = '"+name+"' and password = '"+password+”’//假设传过来的 password ="a' or 1=1 or '",Statement方式拼接字符串的方式就会产生sql注入

2.关于jsp与servlet

什么是jsp
JSP(Java Server Pages)是Sun 公司指定的一种服务器端动态页面技术的组件规范,Jsp是以“.jsp”为后缀的文件,在该文件中主要是html 和少量的java 代码。jsp 文件在容器中会转换成Servlet中执行
什么是servlet
Servlet (Server Applet)是Sun公司指定的一种用来扩展Web服务器功能的组件规范,属于服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
两者联系
jsp在实质上就是servlet,我们的servlet充当控制层,用来接收请求与返还数据,当然也担负着调用service服务层代码的作用。在早期我们的html代码也是写在servlet中的,后来这种方式确实太过费力,也就逐渐淘汰了,但jsp代码在运行时会翻译为servlet。

jsp编译为Java文件的存放路径

JavaBean

javabean实际上就是一个普通类,一般内含get,set方法这种,在我们的JavaWeb开发过程中,我们常说的MVC开发模式中,JavaBean就相当于我们的Model 即模型层,他里面一般包含了我们的服务层service,我们的数据库持久层 dao与实体类层,而Servlet则充当的是Controller控制层,jsp则是我们的view视图层

项目中的业务处理

书城项目很简单,即我们点击页面上的超链接,超链接发送请求进而被servlet接收,servlet中调用了service层,service进而调用dao层进行数据库操作(即数据库crud),将数据操作的结果层层返还,最终在页面上相应。
jsp页面的超链接请求,我们去找到对应的servlet
在这里插入图片描述
找到对于servlet后,其为GoodUserServlet
在这里插入图片描述
进入servlet后,我们看到了他的代码

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");//设置JSP编译成Servlet时使用的编码
		response.setContentType("text/html;charset=utf-8");//设置相应格式
		String gname=request.getParameter("gname");//设置相应格式
		if(gname==""){
			gname="";
		}
		List<Map<String, String>> types=ts.getTypes();
		request.setAttribute("typelist", types);
		List<Map<String, String>> goods=gs.getGoods(gname);
		request.setAttribute("goodlist", goods);
		request.getRequestDispatcher("/web/index.jsp").forward(request, response);
	}

在处理请求时,我们的超链接请求交由doGet方法处理,doPost方法一般处理表单提交的问题
servlet一般所做的操作设置响应接收格式,调用服务层请求,返还数据
由于该项目中服务层并没有太多操作,我们将服务层与数据库操作合并了,其他的几个项目中没有合并
代码很简单,是因为我们都对这些数据库的操作做了封装

 public  List<Map<String,String>> getTypes(){
			String sql = "select * from types  order by id";
			return db.getList(sql);
	}

完成这些后,经过层层返回,便完成了相应的数据库增删改查操作。

  • 7
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彭祥.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值