Web工程中创建Servlet常见的问题以及解决方法

1、Tomcat闪退问题:可能是因为Tomcat端口被占用的原因。

查询端口是否被占用:

(1)输入命令:netstat -ano,列出所有端口占用的情况。

(2)输入命令:tasklist|findstr "PID",根据外部PID( port ID )查看哪个程序占用了端口,eg:外部PID-7180,占用了内部8080端口,就可以输入:tasklist|findstr "7180"。

由此我们可知:是TNSLENR.EXE程序占用了8080端口。


或者我们打开任务管理器,切换到进程选项卡,在PID(右击显示PID)一列查看7180对应的进程是哪个,如下:

很明显是Oracle服务项占用了8080端口。


解决办法:可以通过修改Tomcat端口号来解决,编辑xml:apache-tomcat-7.0.65/conf/server.xml

我把Tomcat的端口号改成了:8989。好了,大功告成。


2、部署到tomcat服务器上webapps里的文件名和项目名不一样,这个需要注意一下,因为在浏览器上访问项目时会出现resource找不到的情况,

原因:

是在创建了 工程之后,修改了IDE 上的项目名。其实在建立web项目的时候。内部还有一个操作就是 根据项目名 建立一个web服务器上的访问名(通过浏览器访问时)
那么当你单方面修改了项目名之后(IDE上修改)。后面的web服务器上的名字,依然是你第一次创建时的名字。不会同步更新。

解决方法:

就是右键项目找到myeclipse 选项 然后找到web。修改那个名字跟当前项目一致,重新部署就好了。或者你在浏览器上访问时用webapps里的文件名就可以了。


3、第三个问题就是比较低级的问题了:把driver="oracle.jdbc.driver.OracleDriver"和url="jdbc:oracle:thin:@127.0.0.1:1521:orcl(或者XE)"拼写错了。

解决方法:就是以后写代码的时候多多注意。


4、乱码问题:只需要在doGet()或doPost()中设置就可以解决了:response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8");

而且要和jsp中的字符集编码一样。jsp字符集设置:window-preference-MyEclipse-Files and Editors-JSP页面的Encoding:ISO 10646/Unicode(UTF-8)就可以了。


5、路径问题:这个问题还没有完全弄清楚,待我搞清楚之后,再来更新。



你可能感兴趣的:(javaWeb,java,servlet,tomcat,web,myeclipse)