美文网首页
Java前端知识之JSP

Java前端知识之JSP

作者: 曉明儿 | 来源:发表于2017-09-15 21:23 被阅读0次

一、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>与<servlet-mapping>是成对出现的

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

<servlet>

     <description></description>

     <display-name>HelloServlet</display-name>

     <servlet-name>HelloServlet</servlet-name>

     <servlet-class>com.FreeLee.Servlets.HelloServlet</servlet-class>

</servlet>

<servlet-mapping>

     <servlet-name>HelloSetvlet</servlet-name>

     <url-pattern>/HelloServlet</url-pattern>

</servlet-mapping>

Servlet:

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

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

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

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

1.JSP文件上传

通过表单上传文件

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

--使用<input type = " file "/>标签

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

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

      本文链接:https://www.haomeiwen.com/subject/hdsesxtx.html