Java前端知识之JSP

一、JSP内置对象session、application与Servlet技术

1.内置对象session

session的作用域:当使用浏览器访问Web服务器时、会创建一次会话(即session)、我们可以向session中存储信息,而这些信息在我们断开服务器之前都是有效的。

-向session中存储数据

~~session.setAttribute(“key”,“value”);

-从session中获取数据

~~Object obj = session.getAttribute(“key”);

~~返回值类型为Object,需要强转成我们需要的类型。

2.内置对象application

application

是应用级别的对象,在整个应用程序拥有唯一作用域,如果存在多个session,则各个session之间公用一个application

-向application中存储数据

~~application.setAttribute(“key”,“value”);

-从application中获取数据

~~Object obj = application.getAttribute(“key”);

~~返回值类型为Object,需要强转成我们需要的类型。

3.Servlet技术

创建一个servlet

1)首先将开发透视图切换到Java EE

2)点击创建一个servlet

3)输入servlet名称

4)点击【Finish】

创建完成后、会在web.xml中自动生成servlet映射

--是成对出现的

--如果包含多个servlet,两个标签值相同的为一对。如下:

     

     HelloServlet

     HelloServlet

     com.FreeLee.Servlets.HelloServlet

     HelloSetvlet

     /HelloServlet


Servlet:

是server applet的组合,指运行在服务端的应用程序,servlet最广泛的应用是接收客户端表单请求,并给出响应。

可以在form表单action属性上指定servlet的映射名称,来请求目标servlet。

servlet使用请求转发和重定向两种跳转方式响应用户的请求。

二、JSP文件上传技术、文件写入数据表、页面相对路径

1.JSP文件上传

通过表单上传文件

--表单enctype属性设置为multipart/form-data

--使用标签

--接收时会得到一个输入流,可根据需要将输入流写入目录

DiskFileItemFactory factory = new  DiskFileItemFactory();

ServletFileUpload upload = new  ServletFileUpload(factory);

FileItemIterator iter = upload.getItemIteraort(request);

InputStream  input = iter.next().openStream();

2.文件写入本地磁盘

使用FileOutputStream指向磁盘文件(例:Freelee)

FileOutputStream output = new FileOutputStream("c:/Freelee.doc");

byte[] buffer = new byte[512];

int length = 0;

whlie ((length = input.read(buffer)) > 0){

       output.write(buffer,0,length);

}

output.close();

input.close();

3.文件写入数据库

使用setBinaryStream方法存储二进制数据

Class.forName("com.mysql.jdbc.Driver");

String url = "jdbc:mysql'//localhost:3308/mingtian10";

Connection conn = DriverManager.getConnection(url,"root","mysql");

String sql = "insert into mt(code,name,image) values (?,?,?)";

preparedStatement pstmt = conn.prepaerStatement(sql);

pstmt.setInt(1,100);

pstmt.setString(2,"zhangsan");

pstmt.setBinaryStream(3,input,input.available());

pstmt.execute();

4.上传文件显示的相对路径问题

上传文件后,需要使用相对路径将图片显示到页面

--request.getContextPath()获取项目根目录

你可能感兴趣的:(Java前端知识之JSP)