java servlet教程及问题集合

  • servlet简介

 web:网站

servlet:小服务程序

servlet是运行中web服务器或应用服务器上的应用程序,作为HTTP服务器和客户端的中间层

       

localhost:本机ip地址,即127.0.0.1(共有6万五千多个端口号)

tomcat:web应用服务器

MVC:模型视图控制
JDBC:联系服务器和数据库的桥梁
servlet服务程序:满足在服务器运行,java编写,有web服务器的就是

  • servlet任务:

  1. 从客户端获得HTML显示或 隐式请求数据
  2.  处理数据并计算出响应结果
  3. 发送HTML响应到客户端
  • myeclipse中web project、web service区别

web project 普通的B/S结构项目开发,如一些简单的网站、OA、CRM系统等。
web service 顾名思义就是web服务,它的作用就是为其他的项目提供服务。一般使用重量级的EJB进行开发。 这个一般很少用。

  • tomcat端口被占用

解决:查看占用的进程,结束

在dos里输入:netstat -ano

找到8080端口号对应的pid号,然后在任务管理器中找到该进程结束即可

  • tomcat目录结构及功能

tomcat报错:

Failed to start component [StandardEngine[Catalina].StandardHost[localhost]
caused by:
The servlets named [AServlet] and [cn.itcast.servlet.AServlet] are both mapped to [/AServlet] which is not permitted

解决:servlet中的注释类annotation提供:

@WebServlet(name="/StudentServlet",urlPatterns={"/showStudent","/editStudent","/updateStudent","/insertStudent","/deleteStudent"
	,"/addStudent"})

 使得我们无需手动在配置web.xml文件中配置<servlet> </servlet>了,如果你已经在web.xml文件中配置了,可能会出现/servlet与两个服务程序关联报错。所以只需删除<servlet> </servlet>即可

  •  静态网页和动态网页

静态网页:返回整个文档,就像是拍完照后直接原图发出
动态网页:根据请求计算处理返回,p过。

  • 表单提交

表单提交是提交到action指示的页面

  • html,xml,css,javascript区别

超文本:html编写的文档可以插入其他文档或资源

html:超文本标记语言,用来描述如何格式化文档,即描述文档怎么在网站显示

xml是html改进版,主要描述数据的内容及他们间的结构关系

html,xml主要做网页内容

css(层叠样式表):主要做样式美化

javascript:用来给HTML网页添加动态功能,如响应用户的各种操作

  • Servlet流程

客户端通过浏览器发送请求(g.p)
服务器接收请求,若是第一次接收,则调用init()初始化Servlet实例对象
调用service()函数,该函数判断调用doPost还是doGet
Servlet产生动态回复,
客户端响应回复

(web.xml映射步骤)

  • 中文乱码问题

1、表单元素有中文,则jsp文件的编码方式得改:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

2、服务器处理响应的结果中有中文,则java类的编码方式得改:

response.setContentType("text/html;charset=UTF-8");

3、在浏览器中提交数据时含有中文:

浏览器端发送请求参数使用的编码方式就是打开浏览器所用的编码方式(我的是UTF-8),但服务器接收参数后默认用ISO-8859-1编码,所以会存在中文乱码情况。

对于post请求,可以在doPost()方法中加上

request.setCharacterEncoding("UTF-8");

改变getParameter()所得参数的编码方式;而get请求就得逐个改变每个参数字符串的编码方式:

String username=new String(request.getParameter("username").getBytes("ISO-8859-1"),"UTF-8");
  • Java项目下文件都没错,但项目名下有个红叉解决方法:

原因:jdk版本不统一导致,找到所有包含jdk的地方,修改成统一版本即可

1、java campiler

2、项目属性中project facets

3、windows菜单下属性中java compiler

 

 

猜你喜欢

转载自blog.csdn.net/wangqianqianya/article/details/88221541