关于JavaWeb图书商城答辩问题总结
Posted 彭祥.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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);
}
完成这些后,经过层层返回,便完成了相应的数据库增删改查操作。
以上是关于关于JavaWeb图书商城答辩问题总结的主要内容,如果未能解决你的问题,请参考以下文章
大神。一个简易的javaweb项目。商城类的。有没有源代码啊。急需!
JavaWeb网上图书商城完整项目--day02-14.登录功能的login页面处理