
requestsetCharacterEncoding("utf-8");
responsesetContentType("text/html;charset=utf-8");
PrintWriter out = responsegetWriter();
//获取请求参数
int id = IntegerparseInt(requestgetParameter("id"));
//调用dao层将这个id的学生找到
StudentDao sd = new StudentDao();
Student s = sdfindById(id);
//将学生对象保存到request范围
requestsetAttribute("s", s);
//使用请求转发,让修改页面展示将要被修改的学生信息
requestgetRequestDispatcher("updatejsp")forward(request, response);
outflush();
outclose();
这是servlet里面的内容
public Student findById(int id){
Student s = null;
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
String sql = "select from student where stuid=";
//获取连接
conn = BaseDaogetConn();
try {
pstm = connprepareStatement(sql);
pstmsetInt(1, id);
//执行查询
rs = pstmexecuteQuery();
if(rsnext()){
int stuId = rsgetInt("stuid");
String stuName = rsgetString("stuname");
String stuSex = rsgetString("stusex");
int stuAge = rsgetInt("stuage");
String stuBid = rsgetString("stubid");
//先将数据封装到Student对象中
s = new Student(stuId, stuName, stuSex, stuAge, stuBid);
//将对象放入集合
}
} catch (SQLException e) {
eprintStackTrace();
}finally{
BaseDaocloseAll(conn, pstm, rs);
}
return s;
}
//这是写在Dao里面的内容
//这个是BaseDao 加载驱动 获取链接的
public class BaseDao{
//加载驱动
static{
try {
ClassforName("oraclejdbcdriverOracleDriver");
} catch (ClassNotFoundException e) {
eprintStackTrace();
}
}
//获取连接
public static Connection getConn(){
Connection conn = null;
try {
conn = DriverManagergetConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "130130");
} catch (SQLException e) {
eprintStackTrace();
}
return conn;
}
//关闭所有资源
public static void closeAll(Connection conn,Statement st,ResultSet rs){
try {
if(null!=rs){
rsclose();
}
if(null!=st){
stclose();
}
if(null!=conn){
connclose();
}
} catch (SQLException e) {
eprintStackTrace();
}
}
}
package cookie;
import javaioFileInputStream;
import javaioIOException;
import javaioPrintWriter;
import javautilProperties;
import javaxservletServletException;
import javaxservlet>
没有设置请求参数编码
加上requestsetCharacterEncoding("gb2312")就可以了。
另外,做jsp开发时,可以通过一个过滤器来解决这个请求参数编码问题。
可以参考Tomcat的一个实现。它在tomcat的安装目录
webapps\servlets-examples\WEB-INF\classes\filters下,名字为
SetCharacterEncodingFilterjava
然后配置你的webxml,加入一下内容
<filter>
<filter-name>CharacterEncoding</filter-name>
<filter-class>SetCharacterEncodingFilter路径(含包名)</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GB2312</param-value>
</filter>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/</url-pattern>
</filter-mapping>
Date currDate = CalendargetInstance()getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateTime = sdfformat(currDate);
dateTime即你需要获取的时间,格式为:yyyy-MM-dd HH:mm:ss。
望采纳。。。
作用
1、可以读取全局配置参数。
2、可以搜索当前工程目录下面的资源文件。
3、可以获取当前工程名字。
用法
1、ServletContext对象获取
thisgetServletContext();
thisgetServletConfig()getServletContext();
2、添加属性:setAttribute(String name, Object obj);
3、得到值:getAttribute(String name),这个方法返回Object
4、删除属性:removeAttribute(String name)
扩展资料
实例
public void doGet(>
PrintWriter out = responsegetWriter();ServletContext servletContext = thisgetServletContext();
ServletContext servletContext2 = thisgetServletConfig()getServletContext(); servletContextsetAttribute("name", "小明");outprintln("将 name=小明 写入了ServletContext");}
注意
存在ServletContext中的数据在服务器中会长时间,就会占用很多内存,因此在使用ServletContext时,最好不要往里面添加过大的数据。
如何使用Servlet从客户端获取请求信息:
首先,让我们先来看一个请求的实例:
GET/defaultaspusername=zhangsan >
package comservlet; import comdatabaseDataBaseUtil; import javaxservletServletException;import javaxservlet>
以上就是关于JAVA servlet中怎么根据JSP页面传来的ID,用hql语句查询主键ID里的信息全部的内容,包括:JAVA servlet中怎么根据JSP页面传来的ID,用hql语句查询主键ID里的信息、servlet中怎么读取properties、servlet 里读取的参数怎么都是问号呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)