jsp,servlet,mysql技术建立动态网站的一些细节问题
当今的购物网站,多使用jsp和servlet技术,连接数据库来进行页面的动态显示以及数据库的读写。接下来我写的一些问题是在进行类似技术设计时遇到的,献给一些像我这样的初学者,为你们摆平一些困难。请大神们无视
1.java连接mysql数据库的具体过程在这里不进行详细讲解,自行百度“jdbc连接mysql数据库”,这里说的问题是一定要要导入包mysql-connector-java-x.x.x,这一点一般没有问题,但是还有一点要注意的是一定要在环境变量的系统变量classpath里添加“包路径”+“\包名;”。
2.我们都知道若用jsp调用servlet的时候需要在form中声明action="servlet",但是请注意还要在你的web.xml中的</web-app>前添加
<servlet>
<servlet-name>Servlet的名字</servlet-name>
<servlet-class>Servlet所在包.Servlet的名字</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet的名字</servlet-name>
<url-pattern>/Servlet的名字</url-pattern>
</servlet-mapping>
每个servlet都要添加一段上边的代码。
3.下载问题,若想点击链接进行下载操作的代码编写时,如果在jsp页面中完成的话,请注意一下两种代码在第一行不一样的地方
<%@page contentType="text/html;charset=gb2312" import="com.jspsmart.upload.*" %><%
//新建一个SmartUpload对象
SmartUpload su=new SmartUpload();
//初始化
su.initialize(pageContext);
/*
*设定contentDisposition为null以禁止浏览器自动打开文件,保证点击链接后是下载文件。
*若不设定,则下载的文件扩展名为doc时,浏览器将自动用word打开它。
*扩展名为pdf时,浏览器将用acrobat打开
*/
su.setContentDisposition(null);
//下载文件
su.downloadFile("/upload/中土.jpg");
%>
而不是
<%@page contentType="text/html;charset=gb2312" import="com.jspsmart.upload.*" %>
<%
//新建一个SmartUpload对象
SmartUpload su=new SmartUpload();
//初始化
su.initialize(pageContext);
/*
*设定contentDisposition为null以禁止浏览器自动打开文件,保证点击链接后是下载文件。
*若不设定,则下载的文件扩展名为doc时,浏览器将自动用word打开它。
*扩展名为pdf时,浏览器将用acrobat打开
*/
su.setContentDisposition(null);
//下载文件
su.downloadFile("/upload/中土.jpg");
%>
就是"%>"与"<%"之间不能插入其它字符
4.若想在servlet中进行上传操作而不是在jsp页面中进行该操作的话,请注意在代码”su.initialize(pageContext);//初始化上传操作“前添加
JspFactory jspxFactory = null;
PageContext pageContext = null;
jspxFactory = JspFactory.getDefaultFactory();
pageContext = jspxFactory.getPageContext(this,request,response,"",true,8192,true);
原因是smartupload为jsp内置对象,因此在servlet中实现需要做以下处理
5.若想在servlet中同时实现表单和上传操作,由于表单传值一般是用String str=request.getParameter("参数");来进行的,但是由于smartupload包中也有request的对象,因此在传值时的方式应该变成一下形式
String str=su.getRequest().getParameter("参数");
6.注意字符集的设置,接下来我说的字符集设置都是utf-8的设置
(1)jsp页面的字符集设置
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
(2)设置servlet字符集
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
(3)从jsp页面向servlet传值的字符集设置
new String(request.getParameter("id").getBytes("ISO-8859-1"),"UTF-8");
(4)若mysql字符集是utf-8,在这里请注意,jdbc连接数据库时,需要的characterEncoding=gb2312
这里没有打错,就是gb2312,不要问我为什么我也不知道
大致上就这些细节问题,希望对大家有所帮助,大神勿喷。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。