本文仅是记录在项目中遇到的问题,以及相应的解决办法。
在本系统中运用到的工具:jsp、servlet、js、html、jdbc
说明下各工具使用的目的:jsp:嵌套java代码、实现页面的动态更新
servlet:用来处理jsp的action的请求,也就是B Brower端 向 Server端发送消息
js:嵌套java代码,用来实现对表单元素的提取、校验等
jdbc:我使用的是Oracle,用来连接数据库,以实现对数据的 增、删、改、查等
遇到的问题:
数据库部门:
在本项目中,使用Oracle 10g数据库:
1、如何创建一个新的用户
a. create user 用户名 identified by 密码 account unlock;
b. grant create session to 用户名
c. grant create table to 用户名
d. alter user 用户名 quota unlimited on users //使用户具有修改表空间的权限
2、如何创建序列
a.createa sequence 序列名 increment by 增长幅度 start with 启示数字
网页与服务器部分:
1、乱码
我的解决办法是,设置所有页面为GBK的编码方式,同时设置servlet的 request与response 中的 setCharacterEncoding("GBK");
还有需要注意
在Servlet中,如果选用 转发 的方式进行转发 即 req.getRequestDispatcher("目标地址").forward();有可能会出现乱码现象
而使用 重定向 就不会有问题,resp.sendRedirect("目标地址")
这个可能是与浏览器、操作系统的环境有关系,还有待检验,这里只是提供 一种错误纠正的可能
2、表单元素的获取
这里 我用到的两种表单,一个是下拉列表框,一个是文本框
以实力说明
X.jsp中定义
<form method="post" action=/test/createServlet >
<select name="dept_type" id = "dept_type>
<option value="gs">公司</option>
<option value="bm">部门</option>
</select>
<textarea name="descript" id="descript">部门描述信息...</textarea >
</form>
在servlet中获取 这两种表单元素 可采用如下方式
//获取下拉列表框
String[] select = req.getParameterValues("dept_type");//此处参数 应该为 表单 select 的id 获取的结果是选中的value
//提取出具体的值 String dept_type = select[0];
//获取文本框
String descript = req.getParameterValue("dept_descript");//此处参数为 表单 textarea的 id 结果为 文本框信息