阅读本篇文章大约花费您5分钟。
今天给大家总结一下javaWeb常见配置文件的配置方法吧。
一.Tomcat的安装
- 下载并解压tomcat安装包
- 配置java_home环境变量,值为jdk安装路径
- 配置catalina_home环境变量,值为tomcat安装路径
上面就是基本的配置方法,tomcat默认的端口号是8080,如果因为各种原因想要修改,只需要在tomcat安装路径下的conf/server.xml配置connector即可,具体的代码如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
另外在eclipseIDE中,也需要配置tomcat服务器,在windows/preferences/server中选择tomcat的版本就可以了。
二.Servlet和Filter的配置
Servlet的配置:
- 在web.xml中配置
<servlet>
<servlet-name>firstServlet</servlet-name>//名字必须和mapping中的名字相同
<servlet-class>FirstServlet</servlet-class>//servlet类全类名
</servlet>
<servlet-mapping>
<servlet-name>firstServlet</servlet-name>
<url-pattern>/hello</url-pattern>//运行url,'/'表示当前项目的根目录
//运行后在浏览器中显示的url就是这里的url-pattern http://localhost:8080/WebTest/hello
</servlet-mapping>
其中的servlt-name可以随意取,但是建议取有意义的名字,这个名字的唯一作用是和下面的servlet-mapping关联;
servlet-class为对应servlet的全类名,即带包名的类名
url-pattern是最核心也是初学者不明白的配置,它的含义是配置一个可以用来访问当前servlet的自定义路径,比如如果配置为/hello,那么在地址栏就可以通过http://localhost:8080/WebTest/hello来访问当前servlet,WebTest为当前项目名。
- Web3.0及以后可以使用注解方法来配置,要简单很多
@WebServlet(
urlPatterns={"/hello"}
)
说它简单是因为只需要配置url-pattern就可以了,因为注解的配置必须放在类之前。
Filter的配置:
过滤器的配置需要在web.xml中进行,过滤器的配置和servlet的配置几乎一样,这也是我把它们放在一起的原因:
<filter>
<filter-name>helloFilter</filter-name>
<filter-class>com.zh.filter.HelloFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>helloFilter</filter-name>
<url-pattern>/A_Filter/test.jsp</url-pattern> //拦截的url,可以设置多个
</filter-mapping>
其中的url-pattern可以配置多个,一般可以将它设置为/*,表示对所有页面都有效。
三.JDBC配置文件
dbcp连接池配置:
我们可以将dbcp连接池配置为一个dbcp.properties的配置文件:
username=root
password=****
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/dbtest?serverTimezone=UTC
//dbtest是需要连接的数据库名称
initialSize=10 //初始化连接数
maxTotal=50
maxIdle=10
minIdle=5
maxWaitMillis=5000
c3p0连接池配置:
c3p0连接池配置为一个c3p0-config.xml文件,文件名必须是这个:
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<!-- This app is massive! -->
<named-config name="myc3p0"> <!-- 使用这个名字找到配置文件 -->
<!-- 连接数据源基本属性 -->
<property name="user">root</property>
<property name="password">****</property>
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/dbtest?</property>
<!-- 连接数不足时 一次申请的连接数 -->
<property name="acquireIncrement">5</property>
<!-- 初始化的连接数 -->
<property name="initialPoolSize">5</property>
<!-- 最小连接数 -->
<property name="minPoolSize">5</property>
<!-- =最大连接数 -->
<property name="maxPoolSize">10</property>
<!-- C3P0可以维护的statement的数量 -->
<property name="maxStatements">20</property>
<!-- 每个连接可以使用的statement对象 -->
<property name="maxStatementsPerConnection">5</property>
</named-config>
</c3p0-config>
四.自定义标签配置文件
自定义标签配置文件定义为一个.tld配置文件,我叫myTag.tld:
<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<!-- 描述tld文件 -->
<description>myTag 1.0 core library</description>
<display-name>myTag core</display-name>
<tlib-version>1.0</tlib-version>
<!-- 建议使用的前缀 -->
<short-name>zh</short-name>
<!-- 唯一标识当前tld文件,不能重复,通过taglib指令的uri属性引用 -->
<uri>http://www.zh.com/myTag/core</uri>
<!-- 描述自定义的HelloSimpleTag -->
<tag>
<name></name> <!-- 标签名 -->
<tag-class></tag-class> <!-- 标签全类名 -->
<body-content></body-content> <!-- 标签体类型 -->
<!-- 描述属性 -->
<attribute>
<!-- 属性名 -->
<name>value</name>
<!-- 该属性是否必须 -->
<required>true</required>
<!-- 是否可以接受运行时表达式的动态值 -->
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
其中taglib标签的前四行是固定的,不能改变,可以参考JSTL标签库的c.tld文件。
五.国际化配置文件
国际化时,会使用一个ResourceBundle类,用来和.properties配置文件资源包打交道;
设计国际化应用时,应该把程序需要显示的文本打包放入资源文件,针对不同的本地环境编写不同的资源文件;
以key-value的形式存储,其中key是一样的,value随本地环境变化而变化
当要添加新的本地化支持时,只需要编写一个新的资源文即可。
资源包的格式如下:
- 必须有一个baseName的资源文件:i18n.properties
- 不同的国家/地区的资源文件以baseName开头:
i18n_en_US.properties //美国
i18n_zh_CN.properties //中国
- 不同的资源包的key必须一样,value根据不同的格式更改
关于JavaWeb现在也才算是刚刚入门,还有很多要学习的地方。最近在看《深入分析Java Web技术内幕》-许令波著,这本书很厚,知识点也算是很全了。推荐给有心人去看吧。